topaz: Create device-specifics build of proprietary files

Build everthing else from sources

Change-Id: I9e30b6beb556bb7ab619e438e545714070bcd8ec
This commit is contained in:
boedhack99
2023-10-03 15:51:31 +00:00
parent e285f023ce
commit c551532aad
48 changed files with 11180 additions and 71 deletions

View File

@@ -1,3 +1,6 @@
soong_namespace {
imports: ["hardware/qcom-caf/bootctrl"],
imports: [
"hardware/qcom-caf/bootctrl",
"hardware/xiaomi",
],
}

View File

@@ -31,7 +31,7 @@ ALL_DEFAULT_INSTALLED_MODULES += \
$(BT_FIRMWARE_MOUNT_POINT) \
$(DSP_MOUNT_POINT)
CNE_LIBS := libvndfwk_detect_jni.qti.so
CNE_LIBS := libvndfwk_detect_jni.qti_vendor.so
CNE_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR_APPS)/CneApp/lib/arm64/,$(notdir $(CNE_LIBS)))
$(CNE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "CNE lib link: $@"

View File

@@ -25,6 +25,9 @@ AB_OTA_PARTITIONS += \
vendor_boot \
vendor_dlkm
# ANT+
BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@@ -38,16 +41,26 @@ TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a9
# Audio
AUDIO_FEATURE_ENABLED_DLKM := true
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
AUDIO_FEATURE_ENABLED_LSM_HIDL := true
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
BOARD_USES_ALSA_AUDIO := true
TARGET_USES_QCOM_MM_AUDIO := true
# Boot control
SOONG_CONFIG_NAMESPACES += ufsbsg
SOONG_CONFIG_ufsbsg += ufsframework
SOONG_CONFIG_ufsbsg_ufsframework := bsg
# Boot
BOARD_BOOT_HEADER_VERSION := 4
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_RAMDISK_USE_LZ4 := true
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := bengal
@@ -65,6 +78,10 @@ BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs
# Kernel
BOARD_BOOT_HEADER_VERSION := 4
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_RAMDISK_USE_LZ4 := true
BOARD_BOOTCONFIG := \
androidboot.hardware=qcom \
androidboot.memcg=1 \
@@ -113,10 +130,11 @@ BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := bengal
# Properties
TARGET_ODM_PROP += $(DEVICE_PATH)/properties/odm.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/properties/product.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/properties/system_ext.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/properties/vendor.prop
TARGET_ODM_PROP += $(DEVICE_PATH)/configs/properties/odm.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/configs/properties/product.prop
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/configs/properties/system.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/configs/properties/system_ext.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/configs/properties/vendor.prop
# Recovery
BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
@@ -125,6 +143,13 @@ TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
# RIL
ENABLE_VENDOR_RIL_SERVICE := true
# Security
BOOT_SECURITY_PATCH := 2023-09-01
VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
@@ -146,3 +171,21 @@ BOARD_AVB_SYSTEM_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
BOARD_AVB_VENDOR_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
# WiFi
BOARD_WLAN_DEVICE := qcwcn
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := $(BOARD_HOSTAPD_DRIVER)
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB)
BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
CONFIG_IEEE80211AX := true
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF"
WIFI_DRIVER_STATE_ON := "ON"
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X
# Include the proprietary files BoardConfig.
include vendor/xiaomi/topaz/BoardConfigVendor.mk

View File

@@ -0,0 +1,419 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 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.
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.
-->
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
<!-- -->
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
The module names are the same as in current .conf file:
“primary”, “A2DP”, “remote_submix”, “USB”
Each module will contain the following sections:
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
module.
This contains both permanently attached devices and removable devices.
“mixPorts”: listing all output and input streams exposed by the audio HAL
“routes”: list of possible connections between input and output devices or between stream and
devices.
"route": is defined by an attribute:
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
-"sink": the sink involved in this route
-"sources": all the sources than can be connected to the sink via vis route
“attachedDevices”: permanently attached devices.
The attachedDevices section is a list of devices names. The names correspond to device names
defined in <devicePorts> section.
“defaultOutputDevice”: device to be used by default when no policy rule applies
-->
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Earpiece</item>
<item>Speaker</item>
<item>Telephony Tx</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner</item>
<item>Telephony Rx</item>
<item>Echo Reference</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="raw" role="source"
flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_RAW">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<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">
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_FLAC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_VORBIS"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
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>
<mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="usb_surround_sound" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4 AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_IN_7POINT1 AUDIO_CHANNEL_INDEX_MASK_8"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_IN_7POINT1 AUDIO_CHANNEL_INDEX_MASK_8"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
channelMasks="AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_2 AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_IN_7POINT1 AUDIO_CHANNEL_INDEX_MASK_8"/>
</mixPort>
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="quad mic" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="hifi_input" role="sink" />
<mixPort name="fast input" role="sink"
flags="AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
<mixPort name="compress-input" role="sink"
flags="AUDIO_INPUT_FLAG_DIRECT" >
<profile name="compress-capture-AAC-LC" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
<!-- To support compress offload capture such that client can query -->
<profile name="compress-capture-AAC-LC" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
<devicePort tagName="Echo Reference" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Speaker"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headset"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Line"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="HDMI"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
<route type="mix" sink="Proxy"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>
<route type="mix" sink="FM"
sources="primary output"/>
<route type="mix" sink="BT SCO"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="USB Device Out"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,Echo Reference"/>
<route type="mix" sink="usb_surround_sound"
sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="record_24"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="quad mic"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="compress-input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
</routes>
</module>
<!-- Usb Audio HAL -->
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,398 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 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.
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.
-->
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
<!-- -->
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
The module names are the same as in current .conf file:
“primary”, “A2DP”, “remote_submix”, “USB”
Each module will contain the following sections:
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
module.
This contains both permanently attached devices and removable devices.
“mixPorts”: listing all output and input streams exposed by the audio HAL
“routes”: list of possible connections between input and output devices or between stream and
devices.
"route": is defined by an attribute:
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
-"sink": the sink involved in this route
-"sources": all the sources than can be connected to the sink via vis route
“attachedDevices”: permanently attached devices.
The attachedDevices section is a list of devices names. The names correspond to device names
defined in <devicePorts> section.
“defaultOutputDevice”: device to be used by default when no policy rule applies
-->
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Earpiece</item>
<item>Speaker</item>
<item>Telephony Tx</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner</item>
<item>Telephony Rx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="raw" role="source"
flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="haptics output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_AB"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_FLAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_VORBIS"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
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>
<mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="quad mic" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="fast input" role="sink"
flags="AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
<route type="mix" sink="Speaker"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
<route type="mix" sink="Wired Headset"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
<route type="mix" sink="Line"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
<route type="mix" sink="HDMI"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx,haptics output"/>
<route type="mix" sink="Proxy"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
<route type="mix" sink="FM"
sources="primary output"/>
<route type="mix" sink="BT SCO"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Wired Headset Mic"/>
<route type="mix" sink="record_24"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="quad mic"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Wired Headset Mic"/>
<route type="mix" sink="BT A2DP Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT A2DP Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="BT A2DP Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Wired Headset Mic"/>
</routes>
</module>
<!-- A2DP Audio HAL -->
<module name="a2dp" halVersion="2.0">
<mixPorts>
<mixPort name="a2dp input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="a2dp input"
sources="BT A2DP In"/>
</routes>
</module>
<!-- Usb Audio HAL -->
<xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,360 @@
# List of effect libraries to load. Each library element must contain a "path" element
# giving the full path of the library .so file.
# libraries {
# <lib name> {
# path <lib path>
# }
# }
libraries {
bundle {
path /vendor/lib/soundfx/libbundlewrapper.so
}
reverb {
path /vendor/lib/soundfx/libreverbwrapper.so
}
qcbassboost {
path /vendor/lib/soundfx/libqcbassboost.so
}
qcvirt {
path /vendor/lib/soundfx/libqcvirt.so
}
qcreverb {
path /vendor/lib/soundfx/libqcreverb.so
}
visualizer_sw {
path /vendor/lib/soundfx/libvisualizer.so
}
visualizer_hw {
path /vendor/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /vendor/lib/soundfx/libdownmix.so
}
loudness_enhancer {
path /vendor/lib/soundfx/libldnhncr.so
}
dynamics_processing {
path /vendor/lib/soundfx/libdynproc.so
}
proxy {
path /vendor/lib/soundfx/libeffectproxy.so
}
offload_bundle {
path /vendor/lib/soundfx/libqcompostprocbundle.so
}
audio_pre_processing {
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
}
volume_listener {
path /vendor/lib/soundfx/libvolumelistener.so
}
audiosphere {
path /vendor/lib/soundfx/libasphere.so
}
}
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
# audio HAL implements support for default software audio pre-processing effects
#
# pre_processing {
# path /vendor/lib/soundfx/libaudiopreprocessing.so
# }
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
# The value of the "library" element must correspond to the name of one library element in the
# "libraries" element.
# The name of the effect element is indicative, only the value of the "uuid" element
# designates the effect.
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
# generic effect type UUID.
# effects {
# <fx name> {
# library <lib name>
# uuid <effect uuid>
# }
# ...
# }
effects {
# additions for the proxy implementation
# Proxy implementation
#effectname {
#library proxy
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# SW implemetation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libsw {
#library libSW
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
#} End of SW effect
# HW implementation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libhw {
#library libHW
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
#}End of HW effect
#} End of effect proxy
bassboost {
library proxy
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
libsw {
library qcbassboost
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
}
libhw {
library offload_bundle
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
}
}
virtualizer {
library proxy
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
libsw {
library qcvirt
uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
}
}
equalizer {
library proxy
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
libsw {
library bundle
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
}
libhw {
library offload_bundle
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
}
}
volume {
library bundle
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
}
reverb_env_aux {
library proxy
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
libsw {
library qcreverb
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
}
libhw {
library offload_bundle
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
}
}
reverb_env_ins {
library proxy
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
libsw {
library qcreverb
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
}
libhw {
library offload_bundle
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
}
}
reverb_pre_aux {
library proxy
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
libsw {
library qcreverb
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
}
libhw {
library offload_bundle
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
}
}
reverb_pre_ins {
library proxy
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
libsw {
library qcreverb
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
}
}
visualizer {
library proxy
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
libsw {
library visualizer_sw
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
libhw {
library visualizer_hw
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
}
}
downmix {
library downmix
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
}
hw_acc {
library offload_bundle
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
}
loudness_enhancer {
library loudness_enhancer
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
}
dynamics_processing {
library dynamics_processing
uuid e0e6539b-1781-7261-676f-6d7573696340
}
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}
ns {
library audio_pre_processing
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
}
music_helper {
library volume_listener
uuid 08b8b058-0590-11e5-ac71-0025b32654a0
}
ring_helper {
library volume_listener
uuid 0956df94-0590-11e5-bdbe-0025b32654a0
}
alarm_helper {
library volume_listener
uuid 09f303e2-0590-11e5-8fdb-0025b32654a0
}
# voice_helper is called when stream type is voice_call in VoIP usecase
voice_helper {
library volume_listener
uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0
}
notification_helper {
library volume_listener
uuid 0b776dde-0590-11e5-81ba-0025b32654a0
}
audiosphere {
library audiosphere
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
}
}
# additional effect from vendor
# UUID generated using version 1
output_session_processing {
music {
music_helper {
}
}
ring {
ring_helper {
}
}
alarm {
alarm_helper {
}
}
# stream type voice_call is used for VoIP call
voice_call {
voice_helper {
}
}
notification {
notification_helper {
}
}
}
# Added aec, ns effects for voice_communication, which are supported by the board
pre_processing {
voice_communication {
aec {
}
ns {
}
}
}
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
# audio HAL implements support for them.
#
# agc {
# library pre_processing
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
# }
# aec {
# library pre_processing
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
# }
# ns {
# library pre_processing
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
# }
# Audio preprocessor configurations.
# The pre processor configuration consists in a list of elements each describing
# pre processor settings for a given input source. Valid input source names are:
# "mic", "camcorder", "voice_recognition", "voice_communication"
# Each input source element contains a list of effects elements. The name of the effect
# element must be the name of one of the effects in the "effects" list of the file.
# Each effect element may optionally contain a list of parameters and their
# default value to apply when the pre processor effect is created.
# A parameter is defined by a "param" element and a "value" element. Each of these elements
# consists in one or more elements specifying a type followed by a value.
# The types defined are: "int", "short", "float", "bool" and "string"
# When both "param" and "value" are a single int, a simple form is allowed where just
# the param and value pair is present in the parameter description
# pre_processing {
# <input source name> {
# <fx name> {
# <param 1 name> {
# param {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# value {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# }
# <param 2 name > {<param> <value>}
# ...
# }
# ...
# }
# ...
# }
#
# TODO: add default audio pre processor configurations after debug and tuning phase
#

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--- 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 -->
<!--- 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, -->
<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<!-- Changes from Qualcomm Innovation Center are provided under the following license: -->
<!-- -->
<!-- Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -->
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
<library name="volume_listener" path="libvolumelistener.so"/>
<library name="audiosphere" path="libasphere.so"/>
<library name="misoundfx" path="libmisoundfx.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
<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="misoundfx" library="misoundfx" uuid="5b8e36a5-144a-4c38-b1d7-0002a5d5c51b"/>
</effects>
<postprocess>
<stream type="music">
<apply effect="music_helper"/>
</stream>
<stream type="ring">
<apply effect="ring_helper"/>
</stream>
<stream type="alarm">
<apply effect="alarm_helper"/>
</stream>
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<stream type="notification">
<apply effect="notification_helper"/>
</stream>
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

View File

@@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2016-2017, 2019, 2021 The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 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.
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.
-->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="true"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
The module names are the same as in current .conf file:
“primary”, “A2DP”, “remote_submix”, “USB”
Each module will contain the following sections:
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
module.
This contains both permanently attached devices and removable devices.
“mixPorts”: listing all output and input streams exposed by the audio HAL
“routes”: list of possible connections between input and output devices or between stream and
devices.
"route": is defined by an attribute:
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
-"sink": the sink involved in this route
-"sources": all the sources than can be connected to the sink via vis route
“attachedDevices”: permanently attached devices.
The attachedDevices section is a list of devices names. The names correspond to device names
defined in <devicePorts> section.
“defaultOutputDevice”: device to be used by default when no policy rule applies
-->
<modules>
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Speaker Safe</item>
<item>Earpiece</item>
<item>Telephony Tx</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Rx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="hifi_input" role="sink" />
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
</devicePort>
<!-- TODO: Enable multi-channel recording -->
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Speaker"
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Speaker Safe"
sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="BT SCO"
sources="primary output,raw,deep_buffer,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,raw,deep_buffer,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,raw,deep_buffer,voip_rx"/>
<route type="mix" sink="USB Device Out"
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
</routes>
</module>
<!-- Usb Audio HAL -->
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Bluetooth Audio HAL -->
<xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2018 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.
-->
<configuration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="audio_policy_engine_product_strategies.xml"/>
<xi:include href="audio_policy_engine_stream_volumes.xml"/>
<xi:include href="audio_policy_engine_default_stream_volumes.xml"/>
</configuration>

View File

@@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 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.
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.
-->
<!-- Default Volume Tables included by Audio Policy Configuration file -->
<!-- Full Default Volume table for all device category -->
<volumes>
<reference name="FULL_SCALE_VOLUME_CURVE">
<!-- Full Scale reference Volume Curve -->
<point>0,0</point>
<point>100,0</point>
</reference>
<reference name="SILENT_VOLUME_CURVE">
<point>0,-9600</point>
<point>100,-9600</point>
</reference>
<reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
<!-- Default System reference Volume Curve -->
<point>1,-2400</point>
<point>33,-1800</point>
<point>66,-1200</point>
<point>100,-600</point>
</reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_SYSTEM_VOLUME_CURVE">
<!-- Default is Speaker System Volume Curve -->
<point>1,-4680</point>
<point>42,-2070</point>
<point>85,-540</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE">
<!-- Default is Ext Media System Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
<!-- Default Hearing Aid Volume Curve -->
<point>1,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
<!-- **************************************************************** -->
<!-- Non-mutable default volume curves: -->
<!-- * first point is always for index 0 -->
<!-- * attenuation is small enough that stream can still be heard -->
<reference name="DEFAULT_NON_MUTABLE_VOLUME_CURVE">
<!-- Default non-mutable reference Volume Curve -->
<!-- based on DEFAULT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE">
<!--Default non-mutable Volume Curve for headset -->
<!-- based on DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE">
<!-- Default non-mutable Speaker Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE">
<!--Default non-mutable Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE">
<!-- Default non-mutable Ext Media System Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
<!-- Default non-mutable Hearing Aid Volume Curve -->
<!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
<point>0,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
</volumes>

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2018 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.
-->
<ProductStrategies>
<!-- "hidden strategies" like TTS, enforced audible:
Shall we expose them here or keep it hard coded -->
<!-- Used to identify the volume of audio streams for enforced system sounds in certain
countries (e.g. camera in Japan)
This strategy will only have higher priority than phone if force for system is set to
enforced. -->
<ProductStrategy name="STRATEGY_PHONE">
<AttributesGroup streamType="AUDIO_STREAM_VOICE_CALL" volumeGroup="voice_call">
<Attributes> <Usage value="AUDIO_USAGE_VOICE_COMMUNICATION"/> </Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_BLUETOOTH_SCO" volumeGroup="bluetooth_sco">
<Attributes> <Usage value="AUDIO_USAGE_BLUETOOTH_SCO"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_SCO"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_SONIFICATION">
<AttributesGroup streamType="AUDIO_STREAM_RING" volumeGroup="ring">
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE"/> </Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_ALARM" volumeGroup="alarm">
<Attributes> <Usage value="AUDIO_USAGE_ALARM"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_ENFORCED_AUDIBLE">
<AttributesGroup streamType="AUDIO_STREAM_ENFORCED_AUDIBLE" volumeGroup="enforced_audible">
<Attributes> <Usage value="AUDIO_USAGE_ENFORCED_AUDIBLE"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_AUDIBILITY_ENFORCED"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_ACCESSIBILITY">
<AttributesGroup streamType="AUDIO_STREAM_ACCESSIBILITY" volumeGroup="accessibility">
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_SONIFICATION_RESPECTFUL">
<AttributesGroup streamType="AUDIO_STREAM_NOTIFICATION" volumeGroup="notification">
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION_EVENT"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_MEDIA">
<AttributesGroup streamType="AUDIO_STREAM_ASSISTANT" volumeGroup="assistant">
<Attributes>
<ContentType value="AUDIO_CONTENT_TYPE_SPEECH"/>
<Usage value="AUDIO_USAGE_ASSISTANT"/>
</Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_MUSIC" volumeGroup="music">
<Attributes> <Usage value="AUDIO_USAGE_MEDIA"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_GAME"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANT"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE"/> </Attributes>
<Attributes></Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_SYSTEM" volumeGroup="system">
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_SONIFICATION"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_DTMF">
<AttributesGroup streamType="AUDIO_STREAM_DTMF" volumeGroup="dtmf">
<Attributes> <Usage value="AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<!-- Used to identify the volume of audio streams exclusively transmitted through the speaker
(TTS) of the device -->
<ProductStrategy name="STRATEGY_TRANSMITTED_THROUGH_SPEAKER">
<AttributesGroup streamType="AUDIO_STREAM_TTS" volumeGroup="tts">
<Attributes> <Usage value="AUDIO_USAGE_TTS"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_BEACON"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
</ProductStrategies>

View File

@@ -0,0 +1,539 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 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.
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.
-->
<!-- Volume section defines a volume curve for a given use case and device category.
It contains a list of points of this curve expressing the attenuation in Millibels for a given
volume index from 0 to 100.
<volume deviceCategory=””>
<point>0,-9600</point>
<point>100,0</point>
</volume>
-->
<volumeGroups>
<volumeGroup>
<name>voice_call</name>
<indexMin>1</indexMin>
<indexMax>11</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2700</point>
<point>33,-1800</point>
<point>66,-900</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>system</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<!--volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/-->
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>ring</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-5050</point>
<point>13,-4300</point>
<point>20,-3850</point>
<point>27,-3550</point>
<point>33,-3200</point>
<point>40,-2800</point>
<point>47,-2400</point>
<point>53,-2100</point>
<point>60,-1850</point>
<point>66,-1500</point>
<point>73,-1200</point>
<point>80,-900</point>
<point>87,-600</point>
<point>93,-300</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>music</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2450</point>
<point>60,-2100</point>
<point>66,-1750</point>
<point>73,-1400</point>
<point>80,-1120</point>
<point>86,-900</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>alarm</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>notification</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>bluetooth_sco</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>enforced_audible</name>
<indexMin>0</indexMin>
<indexMax>7</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>dtmf</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>tts</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="FULL_SCALE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="SILENT_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>accessibility</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>assistant</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
</volumeGroups>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2018 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.
-->
<configuration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="audio_policy_engine_product_strategies.xml"/>
<xi:include href="audio_policy_engine_stream_volumes.xml"/>
<xi:include href="audio_policy_engine_default_stream_volumes.xml"/>
</configuration>

View File

@@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 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.
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.
-->
<!-- Default Volume Tables included by Audio Policy Configuration file -->
<!-- Full Default Volume table for all device category -->
<volumes>
<reference name="FULL_SCALE_VOLUME_CURVE">
<!-- Full Scale reference Volume Curve -->
<point>0,0</point>
<point>100,0</point>
</reference>
<reference name="SILENT_VOLUME_CURVE">
<point>0,-9600</point>
<point>100,-9600</point>
</reference>
<reference name="DEFAULT_SYSTEM_VOLUME_CURVE">
<!-- Default System reference Volume Curve -->
<point>1,-2400</point>
<point>33,-1800</point>
<point>66,-1200</point>
<point>100,-600</point>
</reference>
<reference name="DEFAULT_MEDIA_VOLUME_CURVE">
<!-- Default Media reference Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE">
<!-- Default is Speaker Media Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_SPEAKER_SYSTEM_VOLUME_CURVE">
<!-- Default is Speaker System Volume Curve -->
<point>1,-4680</point>
<point>42,-2070</point>
<point>85,-540</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE">
<!--Default Volume Curve -->
<point>1,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE">
<!-- Default is Ext Media System Volume Curve -->
<point>1,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_HEARING_AID_VOLUME_CURVE">
<!-- Default Hearing Aid Volume Curve -->
<point>1,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
<!-- **************************************************************** -->
<!-- Non-mutable default volume curves: -->
<!-- * first point is always for index 0 -->
<!-- * attenuation is small enough that stream can still be heard -->
<reference name="DEFAULT_NON_MUTABLE_VOLUME_CURVE">
<!-- Default non-mutable reference Volume Curve -->
<!-- based on DEFAULT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE">
<!--Default non-mutable Volume Curve for headset -->
<!-- based on DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE">
<!-- Default non-mutable Speaker Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE">
<!--Default non-mutable Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE -->
<point>0,-4950</point>
<point>33,-3350</point>
<point>66,-1700</point>
<point>100,0</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE">
<!-- Default non-mutable Ext Media System Volume Curve -->
<!-- based on DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE -->
<point>0,-5800</point>
<point>20,-4000</point>
<point>60,-2100</point>
<point>100,-1000</point>
</reference>
<reference name="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE">
<!-- Default non-mutable Hearing Aid Volume Curve -->
<!-- based on DEFAULT_HEARING_AID_VOLUME_CURVE -->
<point>0,-12700</point>
<point>20,-8000</point>
<point>60,-4000</point>
<point>100,0</point>
</reference>
</volumes>

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2018 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.
-->
<ProductStrategies>
<!-- "hidden strategies" like TTS, enforced audible:
Shall we expose them here or keep it hard coded -->
<!-- Used to identify the volume of audio streams for enforced system sounds in certain
countries (e.g. camera in Japan)
This strategy will only have higher priority than phone if force for system is set to
enforced. -->
<ProductStrategy name="STRATEGY_PHONE">
<AttributesGroup streamType="AUDIO_STREAM_VOICE_CALL" volumeGroup="voice_call">
<Attributes> <Usage value="AUDIO_USAGE_VOICE_COMMUNICATION"/> </Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_BLUETOOTH_SCO" volumeGroup="bluetooth_sco">
<Attributes> <Usage value="AUDIO_USAGE_BLUETOOTH_SCO"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_SCO"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_SONIFICATION">
<AttributesGroup streamType="AUDIO_STREAM_RING" volumeGroup="ring">
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE"/> </Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_ALARM" volumeGroup="alarm">
<Attributes> <Usage value="AUDIO_USAGE_ALARM"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_ENFORCED_AUDIBLE">
<AttributesGroup streamType="AUDIO_STREAM_ENFORCED_AUDIBLE" volumeGroup="enforced_audible">
<Attributes> <Usage value="AUDIO_USAGE_ENFORCED_AUDIBLE"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_AUDIBILITY_ENFORCED"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_ACCESSIBILITY">
<AttributesGroup streamType="AUDIO_STREAM_ACCESSIBILITY" volumeGroup="accessibility">
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_SONIFICATION_RESPECTFUL">
<AttributesGroup streamType="AUDIO_STREAM_NOTIFICATION" volumeGroup="notification">
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_NOTIFICATION_EVENT"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_MEDIA">
<AttributesGroup streamType="AUDIO_STREAM_ASSISTANT" volumeGroup="assistant">
<Attributes>
<ContentType value="AUDIO_CONTENT_TYPE_SPEECH"/>
<Usage value="AUDIO_USAGE_ASSISTANT"/>
</Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_MUSIC" volumeGroup="music">
<Attributes> <Usage value="AUDIO_USAGE_MEDIA"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_GAME"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANT"/> </Attributes>
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE"/> </Attributes>
<Attributes></Attributes>
</AttributesGroup>
<AttributesGroup streamType="AUDIO_STREAM_SYSTEM" volumeGroup="system">
<Attributes> <Usage value="AUDIO_USAGE_ASSISTANCE_SONIFICATION"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<ProductStrategy name="STRATEGY_DTMF">
<AttributesGroup streamType="AUDIO_STREAM_DTMF" volumeGroup="dtmf">
<Attributes> <Usage value="AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
<!-- Used to identify the volume of audio streams exclusively transmitted through the speaker
(TTS) of the device -->
<ProductStrategy name="STRATEGY_TRANSMITTED_THROUGH_SPEAKER">
<AttributesGroup streamType="AUDIO_STREAM_TTS" volumeGroup="tts">
<Attributes> <Usage value="AUDIO_USAGE_TTS"/> </Attributes>
<Attributes> <Flags value="AUDIO_FLAG_BEACON"/> </Attributes>
</AttributesGroup>
</ProductStrategy>
</ProductStrategies>

View File

@@ -0,0 +1,539 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 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.
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.
-->
<!-- Volume section defines a volume curve for a given use case and device category.
It contains a list of points of this curve expressing the attenuation in Millibels for a given
volume index from 0 to 100.
<volume deviceCategory=””>
<point>0,-9600</point>
<point>100,0</point>
</volume>
-->
<volumeGroups>
<volumeGroup>
<name>voice_call</name>
<indexMin>1</indexMin>
<indexMax>11</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-2700</point>
<point>33,-1800</point>
<point>66,-900</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>system</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<!--volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/-->
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>ring</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>1,-5050</point>
<point>13,-4300</point>
<point>20,-3850</point>
<point>27,-3550</point>
<point>33,-3200</point>
<point>40,-2800</point>
<point>47,-2400</point>
<point>53,-2100</point>
<point>60,-1850</point>
<point>66,-1500</point>
<point>73,-1200</point>
<point>80,-900</point>
<point>87,-600</point>
<point>93,-300</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>music</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET_CE">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2450</point>
<point>60,-2100</point>
<point>66,-1750</point>
<point>73,-1400</point>
<point>80,-1120</point>
<point>86,-900</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>alarm</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>notification</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>bluetooth_sco</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER">
<point>0,-2400</point>
<point>33,-1600</point>
<point>66,-800</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE">
<point>0,-4200</point>
<point>33,-2800</point>
<point>66,-1400</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>enforced_audible</name>
<indexMin>0</indexMin>
<indexMax>7</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>1,-3000</point>
<point>33,-2600</point>
<point>66,-2200</point>
<point>100,-1800</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>dtmf</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_USB">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_A2DP">
<point>0,-8000</point>
<point>1,-7000</point>
<point>6,-6000</point>
<point>13,-5000</point>
<point>20,-4100</point>
<point>26,-3800</point>
<point>33,-3300</point>
<point>40,-2950</point>
<point>46,-2600</point>
<point>53,-2250</point>
<point>60,-1900</point>
<point>66,-1550</point>
<point>73,-1200</point>
<point>80,-920</point>
<point>86,-700</point>
<point>93,-350</point>
<point>100,0</point>
</volume>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>tts</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="FULL_SCALE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="SILENT_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="SILENT_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>accessibility</name>
<indexMin>1</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
<volumeGroup>
<name>assistant</name>
<indexMin>0</indexMin>
<indexMax>15</indexMax>
<volume deviceCategory="DEVICE_CATEGORY_HEADSET" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_USB" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_A2DP" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_SPEAKER" ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EARPIECE" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_EXT_MEDIA" ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
<volume deviceCategory="DEVICE_CATEGORY_HEARING_AID" ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
</volumeGroup>
</volumeGroups>

View File

@@ -0,0 +1,15 @@
#
# FPC1020 Touch sensor driver
#
# Copyright (c) 2013,2014 Fingerprint Cards AB <tech@fingerprints.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License Version 2
# as published by the Free Software Foundation.
#
device.internal = 1
keyboard.layout = uinput-fpc
keyboard.builtIn = 1
keyboard.orientationAware = 1

View File

@@ -0,0 +1,15 @@
#
# FPC1020 Touch sensor driver
#
# Copyright (c) 2013,2014 Fingerprint Cards AB <tech@fingerprints.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License Version 2
# as published by the Free Software Foundation.
#
device.internal = 1
keyboard.layout = uinput-gf
keyboard.builtIn = 1
keyboard.orientationAware = 1

View File

@@ -0,0 +1,33 @@
# Copyright (c) 2013, 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,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 102 HOME
key 528 FOCUS
key 766 CAMERA
key 158 BACK

View File

@@ -0,0 +1,28 @@
#
# FPC1020 Touch sensor driver
#
# Copyright (c) 2013,2014 Fingerprint Cards AB <tech@fingerprints.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License Version 2
# as published by the Free Software Foundation.
#
#key 304 DPAD_CENTER VIRTUAL
#key 102 HOME VIRTUAL
#key 108 SYSTEM_NAVIGATION_DOWN
#key 103 SYSTEM_NAVIGATION_DOWN
# Swipe Up
#key 103 DPAD_UP VIRTUAL
# Swipe Down
#key 108 DPAD_DOWN VIRTUAL
# Single Tap
#key 105 DPAD_CENTER VIRTUAL
# Double Tap
#key 106 BUTTON_C VIRTUAL
# Keymap between kernel and framework.
# Refer to input-event-codes.h(kernel) and KeyEvent.java(framework) for more details.

View File

@@ -0,0 +1,18 @@
#
# FPC1020 Touch sensor driver
#
# Copyright (c) 2013,2014 Fingerprint Cards AB <tech@fingerprints.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License Version 2
# as published by the Free Software Foundation.
#
#single click
#key 353 DPAD_CENTER VIRTUAL
#double click
#key 306 BUTTON_C VIRTUAL
# HOME --> DPAD_CENTER
#key 102 DPAD_CENTER VIRTUAL
#key 105 DPAD_LEFT VIRTUAL
#key 106 DPAD_RIGHT VIRTUAL

View File

@@ -0,0 +1,308 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
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.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
Lahaina Non-Secure decoder capabilities
(MB is defined as 16x16)
_______________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_______________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| vp9 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| mpeg2 | 1920 1088 30 40 244800 |
|_____________|_______________________________________|
Lahaina Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| vp9 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| hevc | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
|__________|_____________________________________|
Lahaina Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
|__________|_____________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_c2_audio.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</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="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-30000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="30" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="30" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="20480" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="2025" />
</MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Alias name="OMX.qcom.video.encoder.heic"/>
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_c2.xml" />
</MediaCodecs>

View File

@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (C) 2021 The Linux Foundation. All rights reserved
Not a Contribution
Copyright (C) 2014 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>
<!-- C2 audio decoders -->
<MediaCodec name="c2.qti.alac.sw.decoder" type="audio/alac" rank="0">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.ape.sw.decoder" type="audio/x-ape" rank="0">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.evrc.sw.decoder" type="audio/evrc" rank="0">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="1-9600" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.qcelp.sw.decoder" type="audio/qcelp" rank="0">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="1-9600" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.flac.sw.decoder" type="audio/flac">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-9216000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.dsd.sw.decoder" type="audio/dsd" rank="0">
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="8000-22579200" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.aac.hw.decoder" type="audio/mp4a-latm">
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="8000-96000" />
<Limit name="bitrate" range="8000-1536000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.alac.hw.decoder" type="audio/alac" rank="1">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.wma.hw.decoder" type="audio/x-ms-wma" rank="0">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-96000" />
<Limit name="bitrate" range="8000-1536000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.ape.hw.decoder" type="audio/x-ape" rank="1">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
<MediaCodec name="c2.qti.amrwbplus.hw.decoder" type="audio/amr-wb-plus" rank="0">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="8000-48000" />
<Limit name="bitrate" range="5200-48000" />
<Limit name="concurrent-instances" max="2" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 audio encoders -->
<MediaCodec name="c2.qti.amrnb.hw.encoder" type="audio/3gpp">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="4750-12200" />
<Limit name="concurrent-instances" max="2" />
<Feature name="special-codec" required="true" />
</MediaCodec>
<MediaCodec name="c2.qti.amrwb.hw.encoder" type="audio/amr-wb">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="16000" />
<Limit name="bitrate" range="6600-23850" />
<Limit name="concurrent-instances" max="2" />
<Feature name="special-codec" required="true" />
</MediaCodec>
<MediaCodec name="c2.qti.aac.hw.encoder" type="audio/mp4a-latm">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="8000-48000" />
<Limit name="bitrate" range="4000-192000" />
<Limit name="concurrent-instances" max="2" />
<Feature name="special-codec" required="true" />
</MediaCodec>
<MediaCodec name="c2.qti.evrc.hw.encoder" type="audio/evrc" rank="0">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="1-9600" />
<Limit name="concurrent-instances" max="2" />
<Feature name="special-codec" required="true" />
</MediaCodec>
<MediaCodec name="c2.qti.qcelp.hw.encoder" type="audio/qcelp" rank="0">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="1-13600" />
<Limit name="concurrent-instances" max="2" />
<Feature name="special-codec" required="true" />
</MediaCodec>
</Encoders>
</Included>

View File

@@ -0,0 +1,314 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2018-2022 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
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.
-->
<!--
<!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" />
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_______________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
| h264 | 1920 1088 60 60 489600 |
| hevc | 1920 1088 60 60 489600 |
| vp9 | 1920 1088 60 60 489600 |
|_____________|_________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 1920 1088 60 35 489600 |
| vp9 | 1920 1088 60 35 489600 |
| hevc | 1920 1088 60 35 489600 |
|__________|_________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 1920 1088 60 60 489600 |
| hevc | 1920 1088 60 60 489600 |
|__________|_________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_c2_audio.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Settings>
<Variant name="slow-cpu" enabled="true" />
</Settings>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc"/>
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="36-489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="36-489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
<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="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc"/>
<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="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</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="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
<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="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="low-latency" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9"/>
<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="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1920x1080" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
<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="489600" />
<Limit name="bitrate" range="1-35000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true" variant="slow-cpu">
<Limit name="size" min="96x96" max="1920x1080" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<!-- profiles and levels: ProfileMain : MainTierLevel51 -->
<Limit name="size" min="2x2" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="8x8" />
<Limit name="block-count" range="1-3600" />
<Limit name="blocks-per-second" range="1-108000" />
<Limit name="bitrate" range="1-2000000" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- profiles and levels: ProfileHigh : Level51 -->
<Limit name="size" min="2x2" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-3600" />
<Limit name="blocks-per-second" range="1-108000" />
<Limit name="bitrate" range="1-20000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 Encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc"/>
<Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="489600" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" required="true" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="786432" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="2025" />
</MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Alias name="OMX.qcom.video.encoder.heic"/>
<Limit name="size" min="512x512" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="786432" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-8192x4320" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true" variant="slow-cpu">
<!-- profiles and levels: ProfileMain : MainTierLevel51 -->
<Limit name="size" min="2x2" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="8x8" />
<Limit name="block-count" range="1-4096" /> <!-- max 512x512 -->
<Limit name="blocks-per-second" range="1-122880" />
<Limit name="frame-rate" range="1-120" />
<Limit name="bitrate" range="1-10000000" />
<Limit name="complexity" range="0-10" default="0" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_c2.xml" />
</MediaCodecs>

View File

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2022 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
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.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="238-238" />
<Limit name="measured-frame-rate-720x480" range="123-123" />
<Limit name="measured-frame-rate-1280x720" range="50-50" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="226-226" />
<Limit name="measured-frame-rate-720x480" range="121-121" />
<Limit name="measured-frame-rate-1280x720" range="49-49" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="226-226" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="124-176" />
<Limit name="measured-frame-rate-720x480" range="53-76" />
<Limit name="measured-frame-rate-1280x720" range="35-50" />
<Limit name="measured-frame-rate-1920x1080" range="19-28" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="55-65" />
<Limit name="measured-frame-rate-720x480" range="7-10" />
<Limit name="measured-frame-rate-1280x720" range="3-6" />
<Limit name="measured-frame-rate-1920x1080" range="2-3" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="130-175" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="422-740" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="85-119" />
<Limit name="measured-frame-rate-640x360" range="41-65" />
<Limit name="measured-frame-rate-1280x720" range="21-30" />
<Limit name="measured-frame-rate-1920x1080" range="10-15" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-510" />
<Limit name="measured-frame-rate-720x480" range="460-490" />
<Limit name="measured-frame-rate-1280x720" range="350-400" />
<Limit name="measured-frame-rate-1920x1088" range="180-190" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="300-650" />
<Limit name="measured-frame-rate-720x480" range="280-630" />
<Limit name="measured-frame-rate-1280x720" range="210-460" />
<Limit name="measured-frame-rate-1920x1080" range="100-220" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="510-530" />
<Limit name="measured-frame-rate-720x480" range="465-620" />
<Limit name="measured-frame-rate-1280x720" range="200-390" />
<Limit name="measured-frame-rate-1920x1080" range="210-230" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="320-690" />
<Limit name="measured-frame-rate-640x360" range="323-323" />
<Limit name="measured-frame-rate-720x480" range="290-660" />
<Limit name="measured-frame-rate-1280x720" range="270-590" />
<Limit name="measured-frame-rate-1920x1080" range="220-480" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="377-377" />
<Limit name="measured-frame-rate-640x360" range="323-323" />
<Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="63-165" />
<Limit name="measured-frame-rate-720x480" range="42-59" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="34-36" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="401-405" />
<Limit name="measured-frame-rate-640x360" range="215-217" />
<Limit name="measured-frame-rate-720x480" range="69-99" />
<Limit name="measured-frame-rate-1280x720" range="35-51" />
<Limit name="measured-frame-rate-1920x1080" range="20-29" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="1500-1742" />
<Limit name="measured-frame-rate-352x288" range="1000-1025" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="1695-1928" />
<Limit name="measured-frame-rate-480x360" range="931-940" />
<Limit name="measured-frame-rate-1280x720" range="235-238" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1045-1050" />
<Limit name="measured-frame-rate-640x360" range="133-184" />
<Limit name="measured-frame-rate-1920x1080" range="15-22" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="182-360" />
<Limit name="measured-frame-rate-640x360" range="85-200" />
<Limit name="measured-frame-rate-1280x720" range="143-176" />
<Limit name="measured-frame-rate-1920x1080" range="23-33" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2015-2021 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

@@ -0,0 +1,867 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 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.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1|2|3|4|5) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<CamcorderProfiles cameraId="0">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="1">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="2">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="3">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="4">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="5">
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="320"
height="240"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="6000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="3gp" />
<EncoderOutputFileFormat name="mp4" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="40000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="40000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="758" maxBitRate="288000"
minSampleRate="8000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="aaceld" enabled="true"
minBitRate="16000" maxBitRate="192000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="5525" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<!--
FIXME:
We do not check decoder capabilities at present
At present, we only check whether windows media is visible
for TEST applications. For other applications, we do
not perform any checks at all.
-->
<VideoDecoderCap name="wmv" enabled="false"/>
<AudioDecoderCap name="wma" enabled="false"/>
</MediaSettings>

View File

@@ -0,0 +1,511 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a contribution.
Copyright (C) 2012-2019 The Linux Foundation. All rights reserved.
Copyright (C) 2010 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 MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1|2|3) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2|6) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!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>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!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
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<!-- Back Camera -->
<CamcorderProfiles cameraId="0">
<!-- low: 176 x 144 30fps -->
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- high: 1920 x 1080 30fps -->
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- qcif: 176 x 144 30fps -->
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- qvga: 320 x 240 30fps -->
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="512000"
width="320"
height="240"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<!-- cif: 352 x 288 30fps -->
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 480p: 720 x 480 30fps -->
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 720p: 1280 x 720 60fps -->
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_qcif: 176 x 144 30fps -->
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- timelapse_cif: 352 x 288 30fps -->
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="720000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_480p: 640 x 480 30fps -->
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="640"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_720p: 1280 x 720 30fps -->
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<!-- Front Camera -->
<CamcorderProfiles cameraId="1">
<!-- low: 176 x 144 30fps -->
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- high: 1920 x 1080 30fps -->
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- qcif: 176 x 144 30fps -->
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
<Video codec="h264"
bitRate="128000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- qvga: 320 x 240 30fps -->
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
<Video codec="h264"
bitRate="512000"
width="320"
height="240"
frameRate="30" />
<Audio codec="aac"
bitRate="156000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<!-- cif: 352 x 288 30fps -->
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="720000"
width="352"
height="288"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 480p: 720 x 480 30fps -->
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="2000000"
width="720"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 720p: 1280 x 720 30fps -->
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="12000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- 1080p: 1920 x 1080 30fps -->
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="20000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_qcif: 176 x 144 30fps -->
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="192000"
width="176"
height="144"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<!-- timelapse_cif: 352 x 288 30fps -->
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1200000"
width="352"
height="288"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_480p: 720 x 480 30fps -->
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="5000000"
width="720"
height="480"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<!-- timelapse_720p: 1280 x 720 30fps -->
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="95" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="3gp" />
<EncoderOutputFileFormat name="mp4" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="60000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="15" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="758" maxBitRate="288000"
minSampleRate="8000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="heaac" enabled="true"
minBitRate="8000" maxBitRate="64000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="aaceld" enabled="true"
minBitRate="16000" maxBitRate="192000"
minSampleRate="16000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="5525" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<!--
FIXME:
We do not check decoder capabilities at present
At present, we only check whether windows media is visible
for TEST applications. For other applications, we do
not perform any checks at all.
-->
<VideoDecoderCap name="wmv" enabled="false"/>
<AudioDecoderCap name="wma" enabled="false"/>
</MediaSettings>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
################################################################################################################################
# Copyright (c) 2019 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
################################################################################################################################
PRIO=1,1,1,1,0,0,0,0
#arch_timer, arm-pmu, arch_mem_timer
IGNORED_IRQ=19,22,39

View File

@@ -0,0 +1,664 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* Copyright (c) 2019-2022 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
*/
-->
<!--Ids are used in identifying the boosts, increment ids linearly,
do not modify Ids, or add in between-->
<!--follow the number format rules while specifying number, can be given
in any format-->
<BoostConfigs>
<PerfBoost>
<!--app lauch boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="1", main launch boost of 2sec -->
<Config
Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="bengal"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF" />
<Config
Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="scuba"
Resources="0x40804000, 0xFFF, 0x40800000, 1500" />
<Config
Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1766,
0x40800100, 1516" />
<!--app lauch boost (disabling packing)-->
<!-- POWER COLLAPSE resource opcode, value-->
<!-- CPUBW_MIN_FREQ resource opcode, value -->
<!-- Type="2", launch boost for disable packing 1.5sec -->
<Config
Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="bengal"
Resources="0x40400000, 0x1, 0x41800000, 59" />
<Config
Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="scuba"
Resources="0x40400000, 0x1, 0x41800000, 59" />
<!-- POWER COLLAPSE resource opcode, value-->
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value for khaje -->
<Config
Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="khaje"
Resources="0x40400000, 0x1, 0x4303C000, 768000" />
<!-- config_enableLaunchBoostv3-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
<!-- SCHED GROUP UPMIGRATE resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- Type="3", FA launch boost of 15sec -->
<Config
Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="bengal,khaje"
Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5,
0x40C74000, 0xF0" />
<Config
Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="scuba"
Resources="0x40408000, 0x5, 0x40C74000, 0x0F" />
<!-- config_enableLaunchBoostv4-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
<!-- SCHED GROUP UPMIGRATE resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- Type="4", AA games only launch boost -->
<Config
Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="bengal,khaje"
Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5,
0x40C74000, 0xF0" />
<Config
Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="scuba"
Resources="0x40408000, 0x5, 0x40C74000, 0x0F" />
<!-- config_enableLaunchBoost6-->
<!-- LPM_BIAS resource opcode, val ms-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val-->
<!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
<!-- SCHED GROUP UPMIGRATE resource opcode, value-->
<!-- MIN_FREQ_BIG, val MHz -->
<!-- CPU_DOWN_FREQ_THRESHOLD_US, val us -->
<!-- Type="6", Game Launch boost -->
<Config
Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="bengal"
Resources="0x40408000, 0x63, 0x40C74000, 0xF0,
0x40C68040, 60, 0x40C68050, 60,
0x40C68060, 60, 0x40C68070, 60,
0x40C58000, 65, 0x40C54000, 71,
0x40800000, 1056,
0x41448000, 20000"/>
<Config
Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="scuba"
Resources="0x40408000, 0x63, 0x40C74000, 0x0F,
0x40800000, 1056, 0x41448000, 20000"/>
<Config
Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40408000, 0x63, 0x40C74000, 0xF0,
0x40C68000, 60, 0x40C68010, 60,0x40C68020, 60, 0x40C68030, 60,
0x40C58000, 65, 0x40C54000, 71,
0x40800000, 1344,
0x41448000, 20000"/>
<!--Lightning Launch Base -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- POWER COLLAPSE resource opcode, value-->
<!-- STORAGE CLK SCALING resource opcode, value-->
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value -->
<!-- GPU nap resource opcode, value-->
<!-- SCHED_TASK_BOOST resource opcode, value-->
<!-- Type="7", main launch of 2sec -->
<Config
Id="0x00001081" Type="7" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFFF, 0x40804100, 0xFFFF,
0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40400000, 0x1,
0x42C10000, 0x1, 0x4303C000, 768000,
0x4281C000, 2000, 0x40C80000, 0x0" />
<!--Lightning App Launch-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_GROUP_UP_DOWN MIGRATE resource opcode, value -->
<!-- LPM Bias resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- Type="8", main launch of 2sec -->
<Config
Id="0x00001081" Type="8" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40C00000, 0x3, 0x40CF4000, 0x00640055, 0x40408000, 0x5,
0x40C74000, 0xF0" />
<!--Lightning Game Launch -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_GROUP_UP_DOWN MIGRATE resource opcode, value -->
<!-- LPM_BIAS resource opcode, val ms-->
<!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- MIN_FREQ_BIG, val MHz -->
<!-- CPU_DOWN_FREQ_THRESHOLD_US, val us -->
<!-- Type="9", main launch of 2sec -->
<Config
Id="0x00001081" Type="9" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40C00000, 0x3, 0x40CF4000, 0x00640055, 0x40408000, 0x63,
0x40C68000, 60, 0x40C68010, 60,0x40C68020, 60, 0x40C68030, 60,
0x40C74000, 0xF0, 0x40800000, 1344, 0x41448000, 20000" />
<!--Activity lauch boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<Config
Id="0x00001081" Type="10" Enable="true" Timeout="2000" Target="khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF" />
<!--Animation boost -->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<Config
Id="0x00001083" Enable="true" Timeout="400" Target="bengal"
Resources="0x40804000, 2016, 0x40804100, 1804, 0x40800000, 2208, 0x40800100, 1708" />
<Config
Id="0x00001083" Enable="true" Timeout="400" Target="scuba"
Resources="0x40804000, 2016, 0x40800000, 2208" />
<Config
Id="0x00001083" Enable="true" Timeout="400" Target="khaje"
Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF, 0X42808000, 0, 0X42804000, 0" />
<!--Vertical Scroll boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value for bengal/scuba -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="1", Vertical Scroll boost -->
<Config
Id="0x00001080" Type="1" Enable="true" Target="bengal"
Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="1" Enable="true" Target="scuba"
Resources="0x41800000, 0x8c, 0x40800000, 1056" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value for khaje -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<Config
Id="0x00001080" Type="1" Enable="true" Target="khaje" Fps="60"
Resources="0x4303C000, 768000, 0x40800000, 1344, 0x40800100, 1190, 0x40C00000, 2" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
<Config
Id="0x00001080" Type="1" Enable="true" Target="khaje" Fps="90"
Resources="0x4303C000, 768000, 0x40800000, 1766, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x42804000, 2" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
<Config
Id="0x00001080" Type="1" Enable="true" Target="khaje" Fps="120"
Resources="0x4303C000, 768000, 0x40800000, 2208, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
0x40C78000, 0, 0x40C7C000, 0, 0x42804000, 2" />
<!--Horizontal Scroll boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value for bengal/scuba -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="2", Horizontal Scroll boost -->
<Config
Id="0x00001080" Type="2" Enable="true" Target="bengal"
Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="2" Enable="true" Target="scuba"
Resources="0x41800000, 0x26, 0x40800000, 1056" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value for khaje -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<Config
Id="0x00001080" Type="2" Enable="true" Target="khaje" Fps="60"
Resources="0x4303C000, 768000, 0x40800000, 1344, 0x40800100, 1190, 0x40C00000, 2" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<Config
Id="0x00001080" Type="1" Enable="true" Target="khaje" Fps="90"
Resources="0x4303C000, 768000, 0x40800000, 1766, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<Config
Id="0x00001080" Type="2" Enable="true" Target="khaje" Fps="120"
Resources="0x4303C000, 768000, 0x40800000, 2208, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
0x40C78000, 0, 0x40C7C000, 0" />
<!--Pre-Fling boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value for bengal/scuba -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="4", Pre-Fling boost -->
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="bengal"
Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="scuba"
Resources="0x41800000, 0x26, 0x40800000, 1056" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value for khaje -->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="khaje" Fps="60"
Resources="0x4303C000, 768000, 0x40800000, 1344, 0x40800100, 1190, 0x40C00000, 2" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
<Config
Id="0x00001080" Type="1" Enable="true" Target="khaje" Fps="90"
Resources="0x4303C000, 768000, 0x40800000, 1766, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27,
0x42804000, 2" />
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="khaje" Fps="120"
Resources="0x4303C000, 768000, 0x40800000, 2208, 0x40800100, 1516,
0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
0x40C78000, 0, 0x40C7C000, 0, 0x42804000, 2" />
<!-- Silky Scroll boost -->
<!-- Type 5 Light Scrolls : Horizontal and Verical -->
<!-- SCHED_BOOST resource opcode, value-->
<!-- MIN_FREQ_CLUSTER_BIG_CORE_0 resource opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<Config
Id="0x00001080" Type="5" Enable="true" Target="khaje"
Resources="0x40C00000, 2, 0x40C78000, 0, 0x40C7C000, 0" />
<Config
Id="0x00001080" Type="5" Enable="true" Fps="90" Target="khaje"
Resources="0x40C00000, 2, 0x40800000, 1497, 0x40C78000, 0, 0x40C7C000, 0" />
<Config
Id="0x00001080" Type="5" Enable="true" Fps="120" Target="khaje"
Resources="0x40C00000, 2, 0x40800000, 1900, 0x40C78000, 0, 0x40C7C000, 0" />
<!-- Type 6 Medium Scrolls : Horizontal and Verical -->
<!-- Below node is for 60FPS -->
<!-- MIN_FREQ_CLUSTER_BIG_CORE_0 resource opcode, value-->
<!-- Below 4 nodes are for > 90/120 FPS -->
<!-- MPCTLV3_WALT_ADAPTIVE_HIGH_FREQ_BIG resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_HIGH_FREQ_LITTLE resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_LOW_FREQ_BIG resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_LOW_FREQ_LITTLE resource opcode, value -->
<!-- SCHED_BOOST resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
<!-- BUS_DCVS_DDR_LAT_MINFREQ_GOLD resource opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK, value-->
<!-- LPM_BIAS_HYST resource opcode, value-->
<!-- CORE_CTL_ENABLE_BIG resource opcode, value-->
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<Config
Id="0x00001080" Type="6" Enable="true" Target="khaje"
Resources="0x40800000, 960, 0x40C00000, 2,
0x41000000, 3, 0x43488000, 0xBB800, 0x40C78000, 0, 0x40C7C000, 0,
0x40C74000, 0xF0, 0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<Config
Id="0x00001080" Type="6" Enable="true" Fps="90" Target="khaje"
Resources="0x4080C000, 0xFFF, 0x4080C100, 0xFFF, 0x40808000, 1766, 0x40808100, 1516,
0x40C00000, 2, 0x41000000, 3, 0x43488000, 0xBB800,
0x40C78000, 0, 0x40C7C000, 0, 0x40C74000, 0xF0,
0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<Config
Id="0x00001080" Type="6" Enable="true" Fps="120" Target="khaje"
Resources="0x4080C000, 0xFFF, 0x4080C100, 0xFFF, 0x40808000, 1766, 0x40808100, 1516,
0x40C00000, 2, 0x41000000, 3, 0x43488000, 0xBB800,
0x40C78000, 0, 0x40C7C000, 0, 0x40C74000, 0xF0,
0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<!-- Type 7 Heavy Scrolls : Horizontal and Verical -->
<!-- Below node is for 60FPS -->
<!-- MIN_FREQ_CLUSTER_BIG_CORE_0 resource opcode, value-->
<!-- Below 4 nodes are for > 90/120 FPS -->
<!-- MPCTLV3_WALT_ADAPTIVE_HIGH_FREQ_BIG resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_HIGH_FREQ_LITTLE resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_LOW_FREQ_BIG resource opcode, value -->
<!-- MPCTLV3_WALT_ADAPTIVE_LOW_FREQ_LITTLE resource opcode, value -->
<!-- SCHED_BOOST resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
<!-- BUS_DCVS_DDR_LAT_MINFREQ_GOLD resource opcode, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
<!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK, value-->
<!-- LPM_BIAS_HYST resource opcode, value-->
<!-- CORE_CTL_ENABLE_BIG resource opcode, value-->
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<Config
Id="0x00001080" Type="7" Enable="true" Target="khaje"
Resources="0x40800000, 1190, 0x40C00000, 2,
0x41000000, 3, 0x43488000, 0xBB800, 0x40C78000, 0, 0x40C7C000, 0,
0x40C74000, 0xF0, 0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<Config
Id="0x00001080" Type="7" Enable="true" Fps="90" Target="khaje"
Resources="0x4080C000, 0xFFF, 0x4080C100, 0xFFF, 0x40808000, 1766, 0x40808100, 1516,
0x40C00000, 2, 0x41000000, 3, 0x43488000, 0xBB800,
0x40C78000, 0, 0x40C7C000, 0, 0x40C74000, 0xF0,
0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<Config
Id="0x00001080" Type="7" Enable="true" Fps="120" Target="khaje"
Resources="0x4080C000, 0xFFF, 0x4080C100, 0xFFF, 0x40808000, 1766, 0x40808100, 1516,
0x40C00000, 2, 0x41000000, 3, 0x43488000, 0xBB800,
0x40C78000, 0, 0x40C7C000, 0, 0x40C74000, 0xF0,
0x40408000, 0x27, 0x41008000, 0, 0x4303C000, 768000" />
<!--MTP boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- STORAGE CLK SCALING resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
<!-- Type="", MTP boost -->
<Config
Id="0x00001086" Enable="true" Target="bengal"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401,
0x40800100, 1305, 0x42C10000, 0x1" />
<Config
Id="0x00001086" Enable="true" Target="scuba"
Resources="0x40804000, 0xFFF, 0x40800000, 1401, 0x42C10000, 0x1, 0x40408000, 99, 0x40c74000, 15" />
<Config
Id="0x00001086" Enable="true" Target="khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1766,
0x40800100, 1516, 0x42C10000, 0x1" />
<!--PackageInstall boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="", Package Install boost -->
<Config
Id="0x00001088" Enable="true" Target="bengal,khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
0x40800100,0xFFF" />
<Config
Id="0x00001088" Enable="true" Target="scuba"
Resources="0x40804000, 0xFFF, 0x40800000,0xFFF" />
<!--Rotation latency boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="", Rotation latency boost -->
<Config
Id="0x00001089" Enable="true" Timeout="1500" Target="bengal,khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
0x40800100,0xFFF" />
<Config
Id="0x00001089" Enable="true" Timeout="1500" Target="scuba"
Resources="0x40804000, 0xFFF, 0x40800000,0xFFF" />
<!--Rotation animation boost-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
<!-- Type="", Rotation animation boost -->
<Config
Id="0x00001090" Enable="true" Timeout="1000" Target="bengal"
Resources="0x40800100, 1000, 0x4280C000, 950" />
<Config
Id="0x00001090" Enable="true" Timeout="1000" Target="scuba"
Resources="0x40800000, 1000, 0x4280C000, 950" />
<Config
Id="0x00001090" Enable="true" Timeout="1000" Target="khaje"
Resources="0x40800100, 1000, 0x42804000, 0" />
<!--Drag boost-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- Type="1", Drag boost -->
<Config
Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="bengal"
Resources="0x40800000, 1056, 0x40800100, 1017" />
<Config
Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="scuba"
Resources="0x40800000, 1056" />
<Config
Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="khaje"
Resources="0x40800000, 1344, 0x40800100, 1190" />
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- DDR_BW_MIN_FREQ_V2 resource opcode, value-->
<!-- DDR_LAT_MINFREQ_GOLD resource opcode, value -->
<Config
Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="khaje" Fps="120"
Resources="0x40800000, 1334, 0x40800100, 1190, 0x40C00000, 2,
0x4303C000, 768000, 0x43488000, 768000" />
<!--Display on Resource -->
<!-- Display on resource opcode, value -->
<Config
Id="0x00001041" Enable="true" Timeout="0" Target="bengal,khaje"
Resources="0x40000000, 1" />
<Config
Id="0x00001041" Enable="true" Timeout="0" Target="scuba"
Resources="0x40000000, 1" />
<!--Display off Resource -->
<!-- Display on resource opcode, value -->
<Config
Id="0x00001040" Enable="true" Timeout="0" Target="bengal,khaje"
Resources="0x40000000, 0x0" />
<Config
Id="0x00001040" Enable="true" Timeout="0" Target="scuba"
Resources="0x40000000, 0x0" />
<!--FPS Update Resource-->
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- Type="60" -->
<Config
Id="0x00001094" Type="60" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 0, 0x41444100, 0, 0x40CA4000, 5" />
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- Type="90" -->
<Config
Id="0x00001094" Type="90" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 1, 0x41444100, 1, 0x40CC8000, 119,
0x40CA4000, 3" />
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
<!-- Type="120" -->
<Config
Id="0x00001094" Type="120" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 1, 0x41444100, 1, 0x40CC8000, 119,
0x40CA4000, 2, 0x40CD8000, 100" />
<!-- FPS Immediate Update from within Perfd-->
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- Type="60" -->
<Config
Id="0x0000109B" Type="60" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 0, 0x41444100, 0, 0x40CA4000, 5" />
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- Type="90" -->
<Config
Id="0x0000109B" Type="90" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 1, 0x41444100, 1, 0x40CC8000, 119,
0x40CA4000, 3" />
<!-- Type="120" -->
<!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
<!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
<!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
<!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
<!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
<Config
Id="0x0000109B" Type="120" Enable="true" Target="khaje" Timeout="0"
Resources="0x41444000, 1, 0x41444100, 1, 0x40CC8000, 119,
0x40CA4000, 2 , 0x40CD8000, 100" />
<!--Large Comp Hint -->
<!-- CPU min freq resource opcode, value -->
<!-- GPU_MIN_POWER_LEVEL resource opcode,value -->
<!-- PID Affine opcode,value -->
<Config
Id="0x00001097" Type="0" Enable="true" Timeout="5000" Target="khaje" Fps="90"
Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
<Config
Id="0x00001097" Type="0" Enable="true" Timeout="5000" Target="khaje" Fps="120"
Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
<!--XiaoMi bluetooth boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
<!-- CPUBW_MAX_FREQ resource opcode, value-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- POWER COLLAPSE resource opcode, value-->
<!-- STORAGE CLK SCALING resource opcode, value-->
<!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value-->
<!-- L3 resource opcode, value-->
<!-- GPU DISABLE resource opcode, value-->
<!-- Type="1", bluetooth boost of 3sec-->
<Config
Id="0x000011C0" Type="1" Enable="true" Timeout="3000" Target="khaje"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41818000, 0xFF,
0x41800000, 0xFF, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5,
0x43400000, 0xFFFF, 0x4281C000, 2000" />
</PerfBoost>
</BoostConfigs>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2019 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!-- This is PerfConfigsStore file which returns the value when a
particular property name is invoked -->
<!-- This file supports only Prop tag, which has the following fields
* Name, to identify the name of the property. The names of the
properties have been classified into Vendor and System property.
* Value, the new value to be returned as string when respective
property Name is called. -->
<PerfConfigsStore>
<PerfConfigs>
<!--Vendor Properties -->
<Prop Name="vendor.debug.enable.lm" Value="true" />
<Prop Name="vendor.iop.enable_uxe" Value="0" />
<Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
<Prop Name="ro.vendor.perf.enable.prefapps" Value="false" />
<Prop Name="ro.vendor.use_perf_hal_for_preferredapps" Value="false" />
<Prop Name="ro.vendor.perf.enable.prekill" Value="true" />
<Prop Name="vendor.prekill_MIN_ADJ_to_Kill" Value="800" />
<Prop Name="vendor.prekill_MAX_ADJ_to_Kill" Value="1000" />
<Prop Name="vendor.enable.prefetch" Value="false" />
<Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
<Prop Name="vendor.perf.iop_v3.enable" Value="false" />
<Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
<Prop Name="vendor.iop.enable_speed" Value="false" />
<Prop Name="vendor.debug.enable.memperfd" Value="true" />
<Prop Name="ro.vendor.perf.enable.procomp" Value="false" />
<Prop Name="vendor.perf.pfar.enable" Value="1"/>
<Prop Name="ro.vendor.perf.ss" Value="false" />
<Prop Name="ro.vendor.perf.lal" Value="false" />
<Prop Name="ro.vendor.perf.lgl" Value="false" />
<Prop Name="ro.vendor.perf.splh" Value="false" />
<Prop Name="ro.vendor.perf.lplh" Value="false" />
<!--System Properties -->
<Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
<Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
<Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
<Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
<Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
<Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" />
<Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
<Prop Name="ro.vendor.iocgrp.config" Value="0" />
<Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
<Prop Name="ro.lmk.enhance_batch_kill" Value="false" />
<Prop Name="ro.lmk.enable_watermark_check" Value="true" />
<Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
<Prop Name="ro.lmk.use_new_strategy_dup" Value="true"/>
<Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
<Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
<Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
<Prop Name="vendor.appcompact.enable_app_compact" Value="true" />
<Prop Name="vendor.appcompact.full_compact_type" Value="2" />
<Prop Name="vendor.appcompact.some_compact_type" Value="4" />
<Prop Name="vendor.perf.bgt.enable" Value="true" />
<!--Mention all the target/kernel specific properties at the end of xml file
All the default valuea are kept above-->
<Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32" />
<Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32" />
<Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32" />
<Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32" />
<Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32"/>
<Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32"/>
<Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32"/>
<Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32"/>
<Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32go" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32go" />
<Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32go" />
<Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32go" />
<Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32go" />
<Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32go"/>
<Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32go"/>
<Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32go"/>
<Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32go"/>
<!--Mention all the khaje specific properties here -->
<Prop Name="ro.vendor.perf.enable.prefapps" Value="true" Target="khaje" />
<Prop Name="ro.vendor.use_perf_hal_for_preferredapps" Value="true" Target="khaje" />
<Prop Name="ro.vendor.perf.count.prefapps" Value="5" Target="khaje" />
<Prop Name="vendor.iop.enable_uxe" Value="0" Target="khaje" />
<Prop Name="ro.vendor.perf.enable.procomp" Value="true" Target="khaje" />
<Prop Name="ro.vendor.perf.qgpe" Value="true" Target="khaje" />
<Prop Name="ro.vendor.perf.qape" Value="true" Target="khaje" />
<Prop Name="ro.vendor.perf.ss" Value="true" Target="khaje"/>
<Prop Name="ro.vendor.perf.lal" Value="true" Target="khaje"/>
<Prop Name="ro.vendor.perf.lgl" Value="true" Target="khaje" SkewType="10"/>
<Prop Name="ro.vendor.perf.splh" Value="true" Target="khaje" />
<!--LMKD Properties -->
<Prop Name="ro.lmk.use_new_strategy_dup" Value="false" Target="khaje" />
<Prop Name="ro.lmk.enable_preferred_apps" Value="true" Target="khaje" />
<Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" Target="khaje" />
<Prop Name="ro.lmk.thrashing_threshold" Value="30" Target="khaje" />
<Prop Name="ro.lmk.thrashing_decay" Value="5" Target="khaje" />
<Prop Name="ro.lmk.nstrat_low_swap" Value="10" Target="khaje" />
<Prop Name="ro.lmk.nstrat_psi_partial_ms" Value="70" Target="khaje" />
<Prop Name="ro.lmk.nstrat_psi_complete_ms" Value="70" Target="khaje" />
<Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="400" Target="khaje" />
<Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" Target="khaje" />
<Prop Name="ro.lmk.cache_percent" Value="10" Target="khaje" />
<!--Appcompaction Properties -->
<Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" Target="khaje" />
<Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" Target="khaje" />
<Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" Target="khaje" />
<Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" Target="khaje" />
<Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" Target="khaje" />
<Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" Target="khaje" />
<Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" Target="khaje" />
<Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" Target="khaje" />
<Prop Name="ro.lmk.enable_preferred_apps" Value="false" Target="khaje" Ram="3" />
<Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Target="khaje" Ram="3" />
<Prop Name="ro.lmk.psi_window_size_ms" Value="500" Target="khaje" Ram="3" />
<Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Target="khaje" Ram="3" />
<Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Target="khaje" Ram="3" />
<Prop Name="vendor.iop.enable_uxe" Value="0" Target="khaje" Ram="3" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Target="khaje" Ram="3" />
<Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Target="khaje" Ram="3" />
<Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Target="khaje" Ram="3" />
<Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Target="khaje" Ram="4" />
</PerfConfigs>
</PerfConfigsStore>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<privapp-permissions package="com.android.hotwordenrollment.okgoogle">
<permission name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"/>
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
</privapp-permissions>
<privapp-permissions package="com.android.hotwordenrollment.xgoogle">
<permission name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"/>
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
</privapp-permissions>
</permissions>

View File

@@ -0,0 +1,77 @@
# CNE
persist.vendor.cne.feature=1
# Charger
ro.charger.enable_suspend=1
# Ftrace
persist.debug.ftrace_events_disable=Yes
# Fwk-Detect
ro.vendor.qti.va_aosp.support=1
# Graphics
debug.sf.disable_backpressure=1
# Hint Manager
debug.hwui.use_hint_manager=true
debug.hwui.target_cpu_time_percent=30
# HWUI
debug.hwui.skia_atrace_enabled=false
# IMS
persist.vendor.ims.no_stapa=1
# IOrap
persist.device_config.runtime_native_boot.iorap_perfetto_enable=true
ro.iorapd.enable=false
# Media
media.settings.xml=/vendor/etc/media_profiles_khaje_v0.xml
media.aac_51_output_enabled=true
media.stagefright.enable-aac=true
media.stagefright.enable-fma2dp=true
media.stagefright.enable-http=true
media.stagefright.enable-player=true
media.stagefright.enable-qcp=true
media.stagefright.enable-scan=true
media.stagefright.thumbnail.prefer_hw_codecs=true
# NFC
ro.nfc.port=I2C
# NTP
persist.backup.ntpServer="0.pool.ntp.org"
# Radio
DEVICE_PROVISIONED=1
persist.vendor.radio.atfwd.start=true
ril.subscription.types=NV,RUIM
rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so
ro.telephony.default_network=33,33
telephony.lteOnCdmaDevice=1
# SdCardFS
persist.sys.fuse.passthrough.enable=true
# Soc
ro.soc.manufacturer=QTI
ro.soc.model=SM6225
# Sensors
persist.vendor.sensors.enable.mag_filter=true
# SSR
persist.vendor.ssr.enable_ramdumps=1
persist.vendor.ssr.restart_level=ALL_ENABLE
# Wi-Fi Display
persist.debug.wfd.enable=1
persist.sys.wfd.virtual=0
# WLAN
ro.hardware.wlan.chip=wcn3950
ro.hardware.wlan.dbs=0
ro.hardware.wlan.mimo=0
ro.hardware.wlan.vendor=qcom

View File

@@ -0,0 +1,16 @@
# DPM
persist.vendor.dpm.feature=11
# GPS
persist.sys.gps.fence=true
# Graphics
persist.wm.enable_remote_keyguard_animation=0
ro.surface_flinger.supports_background_blur=1
# Media
vendor.media.target_variant=_khaje_v0
# Radio
ro.telephony.sim_slots.count=1
telephony.active_modems.max_count=2

View File

@@ -169,6 +169,7 @@ ro.surface_flinger.protected_contents=true
ro.surface_flinger.set_touch_timer_ms=200
ro.surface_flinger.use_color_management=true
ro.surface_flinger.wcg_composition_dataspace=143261696
ro.vendor.display.type=oled
vendor.display.camera_noc_efficiency_factor=0.70
vendor.display.comp_mask=8192
vendor.display.disable_excl_rect=0
@@ -193,13 +194,6 @@ vendor.display.vds_allow_hwc=1
vendor.gralloc.disable_ubwc=0
vendor.gralloc.secure_preview_buffer_format=420_sp
# Display Calib
ro.vendor.display.sensortype=2
ro.vendor.display.svi=1
ro.vendor.display.type=oled
vendor.display.svi.config=1
vendor.display.svi.config_path=/vendor/etc/SVIConfig.xml
# Displayfeature
ro.vendor.all_modes.colorpick_adjust=true
ro.vendor.bcbc.enable=true
@@ -275,9 +269,6 @@ persist.vendor.sensors.enable.rt_task=false
persist.vendor.sensors.hal_trigger_ssr=false
persist.vendor.sensors.support_direct_channel=false
# Soc
ro.soc.manufacturer=QTI
# USB
vendor.usb.diag.func.name=diag
vendor.usb.dpl.inst.name=dpl
@@ -288,12 +279,6 @@ vendor.usb.rndis.func.name=gsi
vendor.usb.use_ffs_mtp=0
vendor.usb.use_gadget_hal=0
# WLAN
ro.hardware.wlan.chip=wcn3950
ro.hardware.wlan.dbs=0
ro.hardware.wlan.mimo=0
ro.hardware.wlan.vendor=qcom
# Wi-Fi
wifi.aware.interface=wifi-aware0

View File

@@ -0,0 +1,516 @@
# This file allows user to override the factory
# defaults for the WLAN Driver
#Allow WIFI DFS & LTE coexist
g_sta_sap_scc_on_lte_coex_chan=1
g_nan_sap_scc_on_lte_coex_chan=1
# Enable IMPS or not
gEnableImps=1
# Enable BMPS or not
gEnableBmps=1
# Phy Mode (auto, b, g, n, etc)
# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only
# 7 = 11b only 8 = 11ac only.
gDot11Mode=0
# Assigned MAC Addresses - This will be used until NV items are in place
# Each byte of MAC address is represented in Hex format as XX
Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD
Intf3MacAddress=000AF58989FC
# UAPSD service interval for VO,VI, BE, BK traffic
InfraUapsdVoSrvIntv=0
InfraUapsdViSrvIntv=0
InfraUapsdBeSrvIntv=0
InfraUapsdBkSrvIntv=0
# Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1
# Flags to filter Mcast and Bcast RX packets.
# Value 0: No filtering, 1: Filter all Multicast.
# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast
McastBcastFilter=3
#Flag to enable HostARPOffload feature or not
hostArpOffload=1
#Flag to enable HostNSOffload feature or not
hostNSOffload=1
# 802.11n Protection flag
gEnableApProt=1
#Enable OBSS protection
gEnableApOBSSProt=1
#Enable/Disable UAPSD for SoftAP
gEnableApUapsd=1
# Fixed Rate
gFixedRate=0
# Maximum Tx power
# gTxPowerCap=30
# Fragmentation Threshold
# gFragmentationThreshold=2346
# RTS threshold
RTSThreshold=1048576
# Intra-BSS forward
gDisableIntraBssFwd=0
# WMM Enable/Disable
WmmIsEnabled=0
# 802.11d support
g11dSupportEnabled=0
# 802.11h support
g11hSupportEnabled=1
# DFS Master Capability
gEnableDFSMasterCap=1
# ESE Support and fast transition
EseEnabled=0
ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200
gNeighborLookupThreshold=76
gNeighborScanChannelMinTime=20
gNeighborScanChannelMaxTime=30
gMaxNeighborReqTries=3
# Legacy (non-ESE, non-802.11r) Fast Roaming Support
# To enable, set FastRoamEnabled=1
# To disable, set FastRoamEnabled=0
FastRoamEnabled=1
# Check if the AP to which we are roaming is better than current AP in
# terms of RSSI. Checking is disabled if set to Zero.Otherwise it will
# use this value as to how better the RSSI of the new/roamable AP should
# be for roaming
RoamRssiDiff=5
# To enable, set gRoamIntraBand=1 (Roaming within band)
# To disable, set gRoamIntraBand=0 (Roaming across band)
gRoamIntraBand=0
#Short Guard Interval Enable/disable
gShortGI20Mhz=1
gShortGI40Mhz=1
#Auto Shutdown Value in seconds. A value of 0 means Auto shutoff is disabled
gAPAutoShutOff=0
#Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec
gWlanAutoShutdown = 0
# Not used.
gApAutoChannelSelection=0
#Preferred band (both or 2.4 only or 5 only)
BandCapability=0
#Channel Bonding
gChannelBondingMode5GHz=1
#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds).
#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link
#is idle for last 10 seconds.) For both active and power save clients.
#Power save clients: DUT set TIM bit from 10th second onwards and till client
#honors TIM bit. If doesn't honor for 5 seconds then DUT remove client.
#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not
#success still we try on 11th second if not tries on 12th and so on till 15th
#second. Hence before disconnection DUT will send 5 NULL frames. Hence in any
#case DUT will detect client got removed in (10+5) seconds.
#i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod)..
#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and
#it is period where we send NULL frame.
#gApLinkMonitorPeriod = 10
#gGoLinkMonitorPeriod = 10
#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame
#are succeed to send or not. Hence total effective detection time is
# (gGoLinkMonitorPeriod + gGoKeepAlivePeriod) /
# (gApLinkMonitorPeriod + gApKeepAlivePeriod)
gGoKeepAlivePeriod = 20
gApKeepAlivePeriod = 20
#If set will start with active scan after driver load, otherwise will start with
#passive scan to find out the domain
gEnableBypass11d=1
#If set to 0, will not scan DFS channels
gEnableDFSChnlScan=1
# Enable DFS channel roam
# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE
gAllowDFSChannelRoam=1
gVhtChannelWidth=2
#Data Inactivity Timeout when in powersave (in ms)
gDataInactivityTimeout=200
# Set txchainmask and rxchainmask
# These parameters are used only if gEnable2x2 is 0
# Valid values are 1,2
# Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0.
# Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1.
gSetTxChainmask1x1=1
gSetRxChainmask1x1=1
# Scan Timing Parameters
# gPassiveMaxChannelTime=110
# gPassiveMinChannelTime=60
gActiveMaxChannelTime=40
gActiveMinChannelTime=20
#If set to 0, MCC is not allowed.
gEnableMCCMode=1
# MCC to SCC Switch mode:
# 0-Disable
# 1-Enable
# 2-Force SCC if same band, with SAP restart
# 3-Force SCC if same band, without SAP restart by sending (E)CSA
# 4-Force SCC if same band (or) use SAP mandatory channel for DBS,
# without SAP restart by sending (E)CSA
gWlanMccToSccSwitchMode = 3
# 1=enable STBC; 0=disable STBC
gEnableRXSTBC=1
# 1=enable tx STBC; 0=disable
gEnableTXSTBC=1
# 1=enable rx LDPC; 0=disable
gEnableRXLDPC=1
#Enable/Disable Tx beamforming
gTxBFEnable=1
#Enable/Disable Tx beamformee in SAP mode
gEnableTxBFeeSAP=1
# Enable Tx beamforming in VHT20MHz
# Valid values are 0,1. If commented out, the default value is 0.
# 0=disable, 1=enable
gEnableTxBFin20MHz=1
#Enable/Disable SU Tx beamformer support.
gEnableTxSUBeamformer=1
gEnableFastRoamInConcurrency=1
#Maxium Channel time in msec
gMaxMediumTime = 6000
# 802.11K support
gRrmEnable=1
#Enable Power Save offload
gEnablePowerSaveOffload=2
#Enable firmware uart print
gEnablefwprint=0
# Firmware log mode
# Valid values are 0,1,2
# 0=Disable, 1=WMI, 2=DIAG
gEnablefwlog=1
# Maximum Receive AMPDU size (VHT only. Valid values:
# 0->8k 1->16k 2->32k 3->64k 4->128k)
gVhtAmpduLenExponent=7
# Maximum MPDU length (VHT only. Valid values:
# 0->3895 octets, 1->7991 octets, 2->11454 octets)
gVhtMpduLen=2
# Maximum number of wow filters required
#gMaxWoWFilters=22
# WOW Enable/Disable.
# 0 - Disable both magic pattern match and pattern byte match.
# 1 - Enable magic pattern match on all interfaces.
# 2 - Enable pattern byte match on all interfaces.
# 3 - Enable both magic pattern and pattern byte match on all interfaces.
# Default value of gEnableWoW is 3.
# gEnableWoW=0
# Enable or Disable MCC Adaptive Scheduler at the FW
# 1=Enable (default), 0=Disable
gEnableMCCAdaptiveScheduler=1
#Enable or Disable p2p device address administered
isP2pDeviceAddrAdministrated=0
# Remove Overlap channel restriction
gEnableOverLapCh=0
#Enable VHT on 2.4Ghz
gEnableVhtFor24GHzBand=1
#Disable 40M on 2.4g
gChannelBondingMode24GHz=0
#Maximum number of offload peers supported
# gMaxOffloadPeers=2
# controlling the following offload patterns
# through ini parameter. Default value is 1
# to disable set it to zero. ssdp = 0
# Setup multicast pattern for mDNS 224.0.0.251,
# SSDP 239.255.255.250 and LLMNR 224.0.0.252
ssdp=0
#Enable Memory Deep Sleep
gEnableMemDeepSleep=1
# Regulatory Setting; 0=STRICT; 1=CUSTOM
gRegulatoryChangeCountry=1
# RA filtering rate limit param, the current value would not
# help if the lifetime in RA is less than 3*60=3min. Then
# we need to change it, though it is uncommon.
# gRAFilterEnable=0
gRArateLimitInterval=600
# Maximum number of concurrent connections
gMaxConcurrentActiveSessions=3
# Disable/Enable GreenAP
# 0 to disable, 1 to enable, default: 1
gEnableGreenAp=0
# Radar PRI multiplier
gDFSradarMappingPriMultiplier=4
gPNOScanSupport=1
#Enable/Disable LPASS support
# 0 to disable, 1 to enable
gEnableLpassSupport=1
# Whether userspace country code setting shld have priority
gCountryCodePriority=1
# Enable(1)/Disable(0) SIFS burst
gEnableSifsBurst=1
# Enable or Disable Multi-user MIMO
# 1=Enable (default), 0=Disable
gEnableMuBformee=1
# Enable/Disable channel avoidance for SAP in SCC scenario
# 0 - disable
# 1 - enable
gSapSccChanAvoidance=0
# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode
gIbssTxSpEndInactivityTime=10
# Enable TDLS External Control. That is, user space application has to
# first configure a peer MAC in wlan driver towards which TDLS is desired.
# Device will establish TDLS only towards those configured peers whenever
# TDLS criteria (throughput and RSSI threshold) is met and teardown TDLS
# when teardown criteria (idle packet count and RSSI) is met. However,
# device will accept TDLS connection if it is initiated from any other peer,
# even if that peer is not configured.
# 0 - disable
# 1 - enable
# For TDLS External Control, Implicit Trigger must also be enabled.
gTDLSExternalControl=1
# Enable support for TDLS off-channel operation
# 0 - disable
# 1 - enable
# TDLS off-channel operation will be invoked when there is only one
# TDLS connection.
gEnableTDLSOffChannel=1
# Enable or Disable Random MAC (Spoofing)
# 1=Enable (default), 0=Disable
gEnableMacAddrSpoof=1
################ Datapath feature set Begin ################
# Bus bandwidth threshold values in terms of number of packets
gBusBandwidthHighThreshold=2000
gBusBandwidthMediumThreshold=500
gBusBandwidthLowThreshold=150
# Bus bandwidth compute timeout value in ms
gBusBandwidthComputeInterval=100
# VHT Tx/Rx MCS values
# Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gVhtRxMCS=2
gVhtTxMCS=2
# VHT Tx/Rx MCS values for 2x2
# Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gEnable2x2=1
gVhtRxMCS2x2=2
gVhtTxMCS2x2=2
#IPA config is a bit mask and following are the configurations.
#bit0 IPA Enable
#bit1 IPA PRE Filter enable
#bit2 IPv6 enable
#bit3 IPA Resource Manager (RM) enable
#bit4 IPA Clock scaling enable
#bit5 IPA uC ENABLE
#bit6 IPA uC STA ENABLE
#bit8 IPA Real Time Debugging
gIPAConfig=0x7d
gIPADescSize=800
# Enable/Disable RX full reorder offload
gReorderOffloadSupported=1
# Enable CE classification
# 1 - enable(default) 0 - disable
gCEClassifyEnable=1
# Enable Rx handling options
# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium)
rx_mode=5
# Enable(Tx) fastpath for data traffic.
# 1 - enable(default) 0 - disable
gEnableFastPath=1
# This flag enables IP, TCP and UDP checksum offload
# 1 - enable(default) 0 - disable
gEnableIpTcpUdpChecksumOffload=1
# Enable TCP Segmentation Offload
# 1 - enable 0 - disable
TSOEnable=1
# Enable Generic Receive Offload
# 1 - enable(default) 0 - disable
GROEnable=1
# Enable HT MPDU Density
# 4 for 2 micro sec
ght_mpdu_density=4
# Enable flow steering to enable multiple CEs for Rx flows.
# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs.
# Parallel Rx paths.
# 1 - enable 0 - disable(default)
gEnableFlowSteering=1
# Time in microseconds after which a NAPI poll must yield
ce_service_max_yield_time=500
#Maximum number of HTT messages to be processed per NAPI poll
ce_service_max_rx_ind_flush=1
# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
maxMSDUsPerRxInd=8
# Enable NUD tracking feature
# 1 - enable 0 - disable(default)
gEnableNUDTracking=3
# Enable PEER UNMAP CONF SUPPORT
# 1 - enable 0 - disable(default)
gEnablePeerUnmapConfSupport=1
################ Datapath feature set End ################
################ NAN feature set start ###################
# Enable NAN discovery (NAN 1.0)
# 1 - enable 0 - disable(default)
gEnableNanSupport=1
# Enable NAN Datapath
genable_nan_datapath=1
################ NAN feature set end #####################
adaptive_dwell_mode_enabled=1
hostscan_adaptive_dwell_mode=1
adapt_dwell_lpf_weight=80
adapt_dwell_wifi_act_threshold=10
MAWCEnabled=0
# Enable/Disable rtt sta mac randomization
enable_rtt_mac_randomization=1
#Enable/Disable SNR monitoring
gEnableSNRMonitoring=1
#Enable/Disable Ring Buffer
gEnableRingBuffer=1
# Packet Log buffer size
PktlogBufSize=1
# Enable Keep alive with non-zero period value
gStaKeepAlivePeriod = 30
# add xiaomi feature params
RoamRssiDiff=5
gSelect5GHzMargin=5
roam_bad_rssi_thresh_offset_2g=0
roam_bg_scan_bad_rssi_thresh=-76
gEnableMacAddrSpoof=1
gEnablePacketLog=1
gEnableModulatedDTIM=3
gMaxLIModulatedDTIM=3
groam_dense_rssi_thresh_offset=5
gtraffic_threshold=50
gRoamBmissFirstBcnt=10
gRoamBmissFinalBcnt=20
gper_roam_enabled=3
arp_ac_category=0
gEnableLPRx=0
gEnableSelfRecovery=1
enable_ftopen=0
# add Obtain the maximum link speed
gReportMaxLinkSpeed=2
# add end
# add Allow single SAP (GO) start on DFS channel
g_sta_sap_scc_on_dfs_chan=2
# add end
gindoor_channel_support=1
# enable SRD channel in etsi
etsi13_srd_chan_in_master_mode=3
gEnableFwrMemDump=0
#APF: Android Packet Filter
gActiveMcBcBpfMode=1
END
# Note: Configuration parser would not read anything past the END marker

View File

@@ -0,0 +1,8 @@
disable_scan_offload=1
p2p_no_group_iface=1
persistent_reconnect=1
bss_max_count=400
p2p_chan_list_dfs_disable=0
p2p_chan_list_only_sta_dfs_enable=0
p2p_pref_list_dfs_disable=0
p2p_go_dfs_disable=0

View File

@@ -0,0 +1,12 @@
disable_scan_offload=1
p2p_disabled=1
tdls_external_control=1
wowlan_triggers=magic_pkt
bss_max_count=400
interworking=1
config_methods=virtual_display virtual_push_button keypad
driver_param="no_rrm=1"
p2p_chan_list_dfs_disable=0
p2p_chan_list_only_sta_dfs_enable=0
p2p_pref_list_dfs_disable=0
p2p_go_dfs_disable=0

435
device.mk
View File

@@ -40,6 +40,79 @@ PRODUCT_PACKAGES += \
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# ANT+
PRODUCT_PACKAGES += \
AntHalService-Soong \
com.dsi.ant@1.0.vendor
# Atrace
PRODUCT_PACKAGES += \
android.hardware.atrace@1.0-service
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@7.0-impl \
android.hardware.audio.effect@7.0-impl \
android.hardware.audio.service_64 \
android.hardware.soundtrigger@2.3-impl
PRODUCT_PACKAGES += \
audio.primary.default \
audio.r_submix.default \
audio.usb.default
PRODUCT_PACKAGES += \
libqcompostprocbundle \
libqcomvisualizer \
libqcomvoiceprocessing \
libtinycompress \
libvolumelistener
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/audio/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio/audio_policy_configuration_gaming.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration_gaming.xml \
$(LOCAL_PATH)/configs/audio/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
$(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_engine_configuration_mi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_engine_default_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_default_stream_volumes.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_engine_product_strategies.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_product_strategies.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_engine_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_stream_volumes.xml \
$(LOCAL_PATH)/configs/audio/odm/audio_policy_engine_configuration_mi.xml:$(TARGET_COPY_OUT_ODM)/etc/audio_policy_engine_configuration.xml \
$(LOCAL_PATH)/configs/audio/odm/audio_policy_engine_default_stream_volumes.xml:$(TARGET_COPY_OUT_ODM)/etc/audio_policy_engine_default_stream_volumes.xml \
$(LOCAL_PATH)/configs/audio/odm/audio_policy_engine_product_strategies.xml:$(TARGET_COPY_OUT_ODM)/etc/audio_policy_engine_product_strategies.xml \
$(LOCAL_PATH)/configs/audio/odm/audio_policy_engine_stream_volumes.xml:$(TARGET_COPY_OUT_ODM)/etc/audio_policy_engine_stream_volumes.xml
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
# Authsecret
PRODUCT_PACKAGES += \
android.hardware.authsecret@1.0.vendor
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth.audio@2.0-impl \
android.hardware.bluetooth@1.0.vendor \
audio.bluetooth.default \
com.qualcomm.qti.bluetooth_audio@1.0.vendor \
vendor.qti.hardware.bluetooth_audio@2.1.vendor \
vendor.qti.hardware.btconfigstore@1.0.vendor \
vendor.qti.hardware.btconfigstore@2.0.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
# Boot animation
TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080
@@ -50,6 +123,137 @@ PRODUCT_PACKAGES += \
android.hardware.boot@1.2-impl-qti.recovery \
android.hardware.boot@1.2-service
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.device@3.6.vendor \
android.hardware.camera.provider@2.4-impl \
android.hardware.camera.provider@2.4-service_64 \
libcamera2ndk_vendor \
libdng_sdk.vendor \
libgui_vendor \
libstdc++.vendor \
vendor.qti.hardware.camera.device@1.0.vendor \
vendor.qti.hardware.camera.postproc@1.0.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
# Capabilityconfigstore
PRODUCT_PACKAGES += \
vendor.qti.hardware.capabilityconfigstore@1.0.vendor
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4.vendor \
android.hardware.graphics.mapper@4.0-impl-qti-display \
gralloc.bengal \
libdisplayconfig.qti \
libdisplayconfig.qti.vendor \
libdisplayconfig.system.qti \
libgralloc.qti \
libqdMetaData \
libqdMetaData.system \
libsdmcore \
libsdmutils \
vendor.display.config@1.14 \
vendor.display.config@1.11.vendor \
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 \
vendor.qti.hardware.display.composer-service \
vendor.qti.hardware.display.composer@1.0.vendor \
vendor.qti.hardware.display.composer@2.0.vendor \
vendor.qti.hardware.display.composer@3.0.vendor \
vendor.qti.hardware.display.mapper@1.0.vendor \
vendor.qti.hardware.display.mapper@1.1.vendor \
vendor.qti.hardware.display.mapper@2.0.vendor \
vendor.qti.hardware.display.mapper@3.0.vendor \
vendor.qti.hardware.display.mapper@4.0.vendor \
vendor.qti.hardware.display.mapperextensions@1.0.vendor \
vendor.qti.hardware.display.mapperextensions@1.1.vendor
# Display NDK
PRODUCT_PACKAGES += \
vendor.qti.hardware.display.config-V1-ndk.vendor \
vendor.qti.hardware.display.config-V2-ndk.vendor \
vendor.qti.hardware.display.config-V3-ndk.vendor \
vendor.qti.hardware.display.config-V4-ndk.vendor \
vendor.qti.hardware.display.config-V5-ndk.vendor \
vendor.qti.hardware.display.config-V6-ndk.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm@1.3.vendor \
android.hardware.drm-service.clearkey \
libdrm.vendor
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.xiaomi
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0.vendor
# GPS
PRODUCT_PACKAGES += \
android.hardware.gnss.measurement_corrections@1.1.vendor \
android.hardware.gnss.visibility_control@1.0.vendor \
android.hardware.gnss@2.1.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
# Graphics
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.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.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
# Health
PRODUCT_PACKAGES += \
android.hardware.health-service.qti \
android.hardware.health-service.qti_recovery \
android.hardware.health@2.1.vendor
# HIDL
PRODUCT_PACKAGES += \
android.hidl.allocator@1.0.vendor \
android.hidl.base@1.0.vendor \
libhidltransport.vendor \
libhwbinder.vendor
# Hotword enrollment
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
# Input
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/idc/,$(TARGET_COPY_OUT_VENDOR)/usr/idc) \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/keylayout/,$(TARGET_COPY_OUT_VENDOR)/usr/keylayout)
# IPACM
PRODUCT_PACKAGES += \
ipacm \
IPACM_cfg.xml \
IPACM_Filter_cfg.xml
# Init
PRODUCT_PACKAGES += \
fstab.qcom \
@@ -63,11 +267,80 @@ PRODUCT_PACKAGES += \
init.qti.kernel.rc \
init.recovery.qcom.rc \
init.target.rc \
init.xiaomi.rc \
ueventd.qcom.rc
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.qcom
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.1.vendor \
libkeymaster_messages.vendor
# Keymint
PRODUCT_PACKAGES += \
android.hardware.hardware_keystore.xml \
android.hardware.security.keymint-V1-ndk.vendor \
android.hardware.security.secureclock-V1-ndk.vendor \
android.hardware.security.sharedsecret-V1-ndk.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.keystore.app_attest_key.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.keystore.app_attest_key.xml \
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml
# Media
PRODUCT_PACKAGES += \
libavservices_minijail \
libavservices_minijail.vendor \
libcodec2_hidl@1.0.vendor \
libcodec2_hidl_plugin.vendor \
libcodec2_vndk.vendor \
libsfplugin_ccodec_utils.vendor \
libplatformconfig
# Media stagefright
PRODUCT_PACKAGES += \
libstagefrighthw \
libstagefright_omx.vendor \
libstagefright_softomx.vendor \
libstagefright_softomx_plugin.vendor
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/media/,$(TARGET_COPY_OUT_VENDOR)/etc)
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
# Net
PRODUCT_PACKAGES += \
android.system.net.netd@1.1.vendor
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service.st \
android.hardware.secure_element@1.2.vendor \
libchrome.vendor \
Tag
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml
# OMX
PRODUCT_PACKAGES += \
libmm-omxcore \
libOmxCore
# Overlays
PRODUCT_ENFORCE_RRO_TARGETS := *
@@ -90,9 +363,108 @@ DEVICE_PACKAGE_OVERLAYS += \
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Perf
PRODUCT_PACKAGES += \
vendor.qti.hardware.perf@2.3.vendor
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/perf/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \
$(LOCAL_PATH)/configs/perf/perfboostsconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfboostsconfig.xml \
$(LOCAL_PATH)/configs/perf/perfconfigstore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfconfigstore.xml
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service-qti \
android.hardware.power@1.2.vendor
PRODUCT_COPY_FILES += \
vendor/qcom/opensource/power/config/bengal/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
# QMI
PRODUCT_PACKAGES += \
libjson \
libqti_vndfwk_detect.vendor \
libqti_vndfwk_detect_vendor \
libqti_vndfwk_detect_vendor.vendor \
libvndfwk_detect_jni.qti.vendor \
libvndfwk_detect_jni.qti_vendor.vendor
# QTI service tracker
PRODUCT_PACKAGES += \
vendor.qti.hardware.servicetracker@1.2.vendor
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.6.vendor \
android.hardware.radio.config@1.3.vendor \
android.hardware.radio.deprecated@1.0.vendor \
libprotobuf-cpp-full \
libprotobuf-cpp-lite \
librmnetctl
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@2.1-service.multihal \
libsensorndkbridge
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
# Shipping API
BOARD_API_LEVEL := 33
BOARD_SHIPPING_API_LEVEL := $(BOARD_API_LEVEL)
PRODUCT_SHIPPING_API_LEVEL := $(BOARD_API_LEVEL)
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
$(LOCAL_PATH) \
hardware/xiaomi
# Telephony
PRODUCT_PACKAGES += \
extphonelib \
extphonelib-product \
extphonelib.xml \
extphonelib_product.xml \
ims-ext-common \
ims_ext_common.xml \
qti-telephony-hidl-wrapper \
qti-telephony-hidl-wrapper-prd \
qti_telephony_hidl_wrapper.xml \
qti_telephony_hidl_wrapper_prd.xml \
qti-telephony-utils \
qti-telephony-utils-prd \
qti_telephony_utils.xml \
qti_telephony_utils_prd.xml \
telephony-ext
PRODUCT_BOOT_JARS += \
telephony-ext
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal@2.0-service.qti-v2 \
libpsi.vendor
# Trusted User Interface
PRODUCT_PACKAGES += \
android.hidl.memory.block@1.0.vendor \
vendor.qti.hardware.systemhelper@1.0.vendor
# Update engine
PRODUCT_PACKAGES += \
@@ -102,3 +474,64 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES_DEBUG += \
update_engine_client
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.3-service-qti
PRODUCT_SOONG_NAMESPACES += \
vendor/qcom/opensource/usb/etc
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml
# Vendor service manager
PRODUCT_PACKAGES += \
vndservicemanager
# Verified Boot
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
# Vibrator
PRODUCT_PACKAGES += \
vendor.qti.hardware.vibrator.service
PRODUCT_COPY_FILES += \
vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
# WiFi
PRODUCT_PACKAGES += \
android.hardware.wifi@1.0-service \
android.hardware.wifi.hostapd@1.0.vendor \
hostapd \
libwpa_client \
libwifi-hal-ctrl \
libwifi-hal-qcom \
wpa_supplicant \
wpa_supplicant.conf
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
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.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.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
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \
$(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
$(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
# WiFi Display
PRODUCT_PACKAGES += \
libnl \
libwfdaac_vendor
PRODUCT_BOOT_JARS += \
WfdCommon
# Inherit from the proprietary files makefile.
$(call inherit-product, vendor/xiaomi/topaz/topaz-vendor.mk)

View File

@@ -38,6 +38,13 @@ prebuilt_etc {
vendor: true,
}
prebuilt_etc {
name: "init.xiaomi.rc",
src: "init.xiaomi.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "ueventd.qcom.rc",
filename: "ueventd.rc",

View File

@@ -33,6 +33,7 @@
#
import /vendor/etc/init/hw/init.qti.kernel.rc
import /vendor/etc/init/hw/init.xiaomi.rc
on early-init
write /proc/sys/kernel/sched_boost 1

28
init/init.xiaomi.rc Normal file
View File

@@ -0,0 +1,28 @@
on init
chmod 0777 /dev/goodix_fp
on post-fs-data
mkdir /data/vendor/fpc 0777 system system
mkdir /data/vendor/goodix 0777 system system
mkdir /data/vendor/nfc 0770 nfc nfc
on post-fs
start stflashtool
on boot
chown system system /sys/bus/platform/devices/soc:fpc1020/irq
chown system system /sys/bus/platform/devices/soc:fpc1020/wakeup_enable
chown system system /sys/bus/platform/devices/soc:fpc1020/modalias
chown system system /sys/bus/platform/devices/soc:fpc1020/compatible_all
chmod 0660 /sys/bus/platform/devices/soc:fpc1020/irq
chmod 0660 /sys/bus/platform/devices/soc:fpc1020/wakeup_enable
chmod 0660 /sys/bus/platform/devices/soc:fpc1020/modalias
chmod 0660 /sys/bus/platform/devices/soc:fpc1020/compatible_all
start nfc_hal_service
service stflashtool /vendor/bin/STFlashTool
class late_start
group nfc
user nfc
oneshot

View File

@@ -1,42 +0,0 @@
# Display
debug.sf.enable_hwc_vds=0
# CNE
persist.vendor.cne.feature=1
# Charging
ro.charger.enable_suspend=1
# DPM
persist.vendor.dpm.feature=11
# GPS
persist.backup.ntpServer=0.pool.ntp.org
# IMS
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
persist.dbg.wfc_avail_ovr=1
# Media
media.aac_51_output_enabled=true
media.settings.xml=/vendor/etc/media_profiles_khaje_v0.xml
media.stagefright.enable-aac=true
media.stagefright.enable-fma2dp=true
media.stagefright.enable-http=true
media.stagefright.enable-player=true
media.stagefright.enable-qcp=true
media.stagefright.enable-scan=true
media.stagefright.thumbnail.prefer_hw_codecs=true
# Netmgr
persist.vendor.data.mode=concurrent
# Radio
ril.subscription.types=NV,RUIM
# Sensors
persist.vendor.sensors.enable.mag_filter=true
# Vendor
ro.vendor.qti.va_aosp.support=1

2212
proprietary-files.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
set -e
DEVICE=topaz
VENDOR=xioami
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"