diff options
author | Niranjan Reddy Dumbala <ndumba@codeaurora.org> | 2017-03-17 17:54:52 +0530 |
---|---|---|
committer | Vara Prasad A V S G <vavsg@codeaurora.org> | 2017-03-24 12:13:47 +0530 |
commit | ba549c4e0d0f12d153b296fa2b9ed93c0fb67cd2 (patch) | |
tree | 2119ebc16f377428e70c8eeeb16c65f2c55b4318 | |
parent | fad70d44341ff96b5a3580a65685cbad5de263f0 (diff) |
SDM660_64: Intial bring up.
Intial bring up changes
Change-Id: I789911a6cd9edacdf73df41b39a80b096b9f1077
-rwxr-xr-x[-rw-r--r--] | Android.mk | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | AndroidBoard.mk | 15 | ||||
-rwxr-xr-x[-rw-r--r--] | AndroidProducts.mk | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | BoardConfig.mk | 50 | ||||
-rwxr-xr-x[-rw-r--r--] | WCNSS_qcom_cfg.ini | 303 | ||||
-rwxr-xr-x[-rw-r--r--] | android_filesystem_config.h | 13 | ||||
-rwxr-xr-x | appboosts.xml | 62 | ||||
-rwxr-xr-x[-rw-r--r--] | egl.cfg | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | fstab.qcom | 10 | ||||
-rwxr-xr-x | gamedwhitelist.xml | 81 | ||||
-rwxr-xr-x[-rw-r--r--] | gpio-keys.kl | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | hostapd.accept | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | hostapd.conf | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | hostapd.deny | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | init.qcom.modem_links.sh | 0 | ||||
-rwxr-xr-x | init.qti.qseecomd.sh | 35 | ||||
-rwxr-xr-x[-rw-r--r--] | init.target.rc | 149 | ||||
-rwxr-xr-x | media_codecs.xml | 399 | ||||
-rwxr-xr-x | media_codecs_performance.xml | 141 | ||||
-rwxr-xr-x | media_profiles.xml | 1542 | ||||
-rwxr-xr-x[-rw-r--r--] | msm_irqbalance.conf | 7 | ||||
-rwxr-xr-x[-rw-r--r--] | overlay/frameworks/base/core/res/res/values/config.xml | 67 | ||||
-rwxr-xr-x | overlay/frameworks/base/core/res/res/xml/power_profile.xml | 115 | ||||
-rwxr-xr-x[-rw-r--r--] | p2p_supplicant_overlay.conf | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | radio/filesmap | 49 | ||||
-rwxr-xr-x[-rw-r--r--] | recovery.fstab | 7 | ||||
-rwxr-xr-x[-rw-r--r--] | sdm660_64.mk (renamed from msmfalcon_64.mk) | 78 | ||||
-rwxr-xr-x[-rw-r--r--] | sensors/hals.conf | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | snd_soc_msm/snd_soc_msm_Taiko | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | snd_soc_msm/snd_soc_msm_Taiko_CDP | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | snd_soc_msm/snd_soc_msm_Taiko_liquid | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | synaptics_rmi4_i2c.kl | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | system.prop | 84 | ||||
-rwxr-xr-x[-rw-r--r--] | usf_post_boot.sh | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | usf_settings.sh | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | vold.fstab | 0 | ||||
-rwxr-xr-x | whitelistedapps.xml | 83 | ||||
-rwxr-xr-x | wifi_concurrency_cfg.txt | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | wpa_supplicant_overlay.conf | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | wpa_supplicant_wcn.conf | 0 |
40 files changed, 2953 insertions, 352 deletions
diff --git a/Android.mk b/Android.mk index 9a21fab..9a21fab 100644..100755 --- a/Android.mk +++ b/Android.mk diff --git a/AndroidBoard.mk b/AndroidBoard.mk index d218253..8fd3f78 100644..100755 --- a/AndroidBoard.mk +++ b/AndroidBoard.mk @@ -19,7 +19,7 @@ endif # Compile Linux Kernel #---------------------------------------------------------------------- ifeq ($(KERNEL_DEFCONFIG),) - KERNEL_DEFCONFIG := msmfalcon_defconfig + KERNEL_DEFCONFIG := sdm660_defconfig endif ifeq ($(TARGET_KERNEL_SOURCE),) @@ -106,11 +106,24 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/hostapd LOCAL_SRC_FILES := hostapd.deny include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := wifi_concurrency_cfg.txt +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := $(LOCAL_MODULE) +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi +include $(BUILD_PREBUILT) + # Create symbolic links for WLAN $(shell mkdir -p $(TARGET_OUT_ETC)/firmware/wlan/qca_cld; \ ln -sf /system/etc/wifi/WCNSS_qcom_cfg.ini \ $(TARGET_OUT_ETC)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini) +# Create symbolic links for msadp +$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware; \ + ln -sf /dev/block/bootdevice/by-name/msadp \ + $(TARGET_OUT_VENDOR)/firmware/msadp) + #---------------------------------------------------------------------- # Radio image #---------------------------------------------------------------------- diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 138b5bc..328c094 100644..100755 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -1,2 +1,2 @@ PRODUCT_MAKEFILES := \ - $(LOCAL_DIR)/msmfalcon_64.mk + $(LOCAL_DIR)/sdm660_64.mk diff --git a/BoardConfig.mk b/BoardConfig.mk index a968b1d..2c6ec98 100644..100755 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -3,9 +3,9 @@ # Product-specific compile-time definitions. # -TARGET_BOARD_PLATFORM := msmfalcon +TARGET_BOARD_PLATFORM := sdm660 TARGET_BOARD_SUFFIX := _64 -TARGET_BOOTLOADER_BOARD_NAME := msmfalcon +TARGET_BOOTLOADER_BOARD_NAME :=sdm660 TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a @@ -25,12 +25,12 @@ SDCLANG := true TARGET_NO_BOOTLOADER := false TARGET_USES_UEFI := true TARGET_NO_KERNEL := false -BOARD_PRESIL_BUILD := true --include $(QCPATH)/common/msmfalcon_64/BoardConfigVendor.mk +-include $(QCPATH)/common/sdm660_64/BoardConfigVendor.mk MINIMAL_FONT_FOOTPRINT := true # Some framework code requires this to enable BT BOARD_HAVE_BLUETOOTH := true +BOARD_USES_WIPOWER := true BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common USE_OPENGL_RENDERER := true @@ -39,29 +39,41 @@ BOARD_USE_LEGACY_UI := true TARGET_USERIMAGES_USE_EXT4 := true BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 -BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x02000000 +#A/B related defines +AB_OTA_UPDATER := true +# Full A/B partiton update set +# AB_OTA_PARTITIONS := xbl rpm tz hyp pmic modem abl boot keymaster cmnlib cmnlib64 system bluetooth +# Subset A/B partitions for Android-only image update +AB_OTA_PARTITIONS ?= boot system +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +TARGET_NO_RECOVERY := true +BOARD_USES_RECOVERY_AS_BOOT := true +TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm + BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472 -BOARD_USERDATAIMAGE_PARTITION_SIZE := 3221225472 -BOARD_CACHEIMAGE_PARTITION_SIZE := 134217728 -BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 48318382080 BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432 BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64) +# Enable suspend during charger mode +BOARD_CHARGER_ENABLE_SUSPEND := true + TARGET_USES_ION := true TARGET_USES_NEW_ION_API :=true -TARGET_USES_QCOM_BSP := false +TARGET_USES_QCOM_BSP :=true ifeq ($(BOARD_KERNEL_CMDLINE),) ifeq ($(TARGET_KERNEL_VERSION),4.4) - BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc1b0000 + BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc170000 else BOARD_KERNEL_CMDLINE += console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 earlycon=msm_hsl_uart,0xc1b0000 endif -BOARD_KERNEL_CMDLINE += boot_cpus=0-3 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 androidboot.selinux=permissive service_locator.enable=1 +BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=1 endif -BOARD_EGL_CFG := device/qcom/msmfalcon_64/egl.cfg +BOARD_EGL_CFG := device/qcom/sdm660_64/egl.cfg +BOARD_SECCOMP_POLICY := device/qcom/sdm660_32/seccomp BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_PAGESIZE := 4096 @@ -111,8 +123,22 @@ ifeq ($(HOST_OS),linux) endif endif +#Enable peripheral manager +TARGET_PER_MGR_ENABLED := true + #Enable SSC Feature TARGET_USES_SSC := true # Enable sensor multi HAL USE_SENSOR_MULTI_HAL := true + +#Enable CPUSets +ENABLE_CPUSETS := true +ENABLE_SCHEDBOOST := true + +#Enabling IMS Feature +TARGET_USES_IMS := true + +#Add NON-HLOS files for ota upgrade +ADD_RADIO_FILES := true + diff --git a/WCNSS_qcom_cfg.ini b/WCNSS_qcom_cfg.ini index 7f49593..6a224db 100644..100755 --- a/WCNSS_qcom_cfg.ini +++ b/WCNSS_qcom_cfg.ini @@ -1,158 +1,76 @@ # This file allows user to override the factory - # defaults for the WLAN Driver - # Enable IMPS or not gEnableImps=1 -# Enable/Disable Idle Scan - -gEnableIdleScan=0 - - -# Increase sleep duration (seconds) during IMPS -# 0 implies no periodic wake up from IMPS. Periodic wakeup is -# unnecessary if Idle Scan is disabled. -gImpsModSleepTime=0 - - # Enable BMPS or not gEnableBmps=1 -# Enable suspend or not - -# 1: Enable standby, 2: Enable Deep sleep, 3: Enable Mcast/Bcast Filter - -gEnableSuspend=3 - - # 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 - -# CSR Roaming Enable(1) Disable(0) - -gRoamingTime=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 -# Make 1x1 the default antenna configuration - -gNumRxAnt=1 - - -# Beacon filtering frequency (unit in beacon intervals) - -gNthBeaconFilter=50 - - -# Enable WAPI or not - -# WAPIIsEnabled=0 - - -# Flags to filter Mcast abd Bcast RX packets. - +# 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 -#SoftAP Related Parameters - -# AP MAc addr - -gAPMacAddr=000AF589dcab - - # 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 @@ -160,12 +78,11 @@ gEnableDFSMasterCap=1 # ESE Support and fast transition EseEnabled=1 + ImplicitQosIsEnabled=0 -gNeighborScanTimerPeriod=200 +gNeighborScanTimerPeriod=200 gNeighborLookupThreshold=76 -gNeighborReassocThreshold=81 - gNeighborScanChannelMinTime=20 gNeighborScanChannelMaxTime=30 gMaxNeighborReqTries=3 @@ -175,30 +92,21 @@ gMaxNeighborReqTries=3 # 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 +# 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=3 -# If the RSSI of any available candidate is better than currently associated -# AP by at least gImmediateRoamRssiDiff, then being to roam immediately (without -# registering for reassoc threshold). -# NOTE: Value of 0 means that we would register for reassoc threshold. -gImmediateRoamRssiDiff=10 - # 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 @@ -207,100 +115,42 @@ gWlanAutoShutdown = 0 # Not used. gApAutoChannelSelection=0 - -# Listen Energy Detect Mode Configuration - -# Valid values 0-128 - -# 128 means disable Energy Detect feature - -# 0-9 are threshold code and 7 is recommended value from system if feature is to be enabled. - -# 10-128 are reserved. - -# The EDET threshold mapping is as follows in 3dB step: - -# 0 = -60 dBm - -# 1 = -63 dBm - -# 2 = -66 dBm - -# ... - -# 7 = -81 dBm - -# 8 = -84 dBm - -# 9 = -87 dBm - -# Note: Any of these settings are valid. Setting 0 would yield the highest power saving (in a noisy environment) at the cost of more range. The range impact is approximately #calculated as: - -# - -# Range Loss (dB) = EDET threshold level (dBm) + 97 dBm. - -# - -gEnablePhyAgcListenMode=128 - - #Preferred band (both or 2.4 only or 5 only) - BandCapability=0 - -#Beacon Early Termination (1 = enable the BET feature, 0 = disable) - -enableBeaconEarlyTermination=0 - -beaconEarlyTerminationWakeInterval=3 - - #Channel Bonding gChannelBondingMode5GHz=1 - -#Enable Keep alive with non-zero period value - -gStaKeepAlivePeriod = 30 - #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. +#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. -#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).. +#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. -#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and it is period -#where we send NULL frame. +#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/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 @@ -309,13 +159,6 @@ gAllowDFSChannelRoam=1 gVhtChannelWidth=2 -# Enable Automatic Tx Power control - -gEnableAutomaticTxPowerControl=1 - -# 0 for OLPC 1 for CLPC and SCPC -gEnableCloseLoop=1 - #Data Inactivity Timeout when in powersave (in ms) gDataInactivityTimeout=200 @@ -352,7 +195,7 @@ gEnableRXSTBC=1 gEnableTXSTBC=1 # 1=enable rx LDPC; 0=disable -gEnableRXLDPC=0 +gEnableRXLDPC=1 #Enable/Disable Tx beamforming gTxBFEnable=1 @@ -368,19 +211,6 @@ gEnableTxBFin20MHz=1 #Enable/Disable SU Tx beamformer support. gEnableTxSUBeamformer=1 -#Enable Scan Results Aging based on timer -#Timer value is in seconds -#If Set to 0 it will not enable the feature -gScanAgingTime=30 - -#Enable Scan Results Aging based on number of scans -gScanResultAgeCount=1 - -#Enable Power saving mechanism Based on Android Framework -#If set to 0 Driver internally control the Power saving mechanism -#If set to 1 Android Framwrok control the Power saving mechanism -isAndroidPsEn=0 - #Enable thermal mitigation gThermalMitigationEnable=0 @@ -391,19 +221,6 @@ gMaxMediumTime = 6000 # 802.11K support gRrmEnable=1 -gRrmOperChanMax=8 -gRrmNonOperChanMax=8 -gRrmRandIntvl=100 - -#Scan offload -gEnableDirectedScanOffload=1 - -#FlexConnect Power Factor -#Default is set to 0 (disable) -gFlexConnectPowerFactor=0 - -#Disable split scan, the FW will take care of it -gNumChanCombinedConc=60 #Enable Power Save offload gEnablePowerSaveOffload=2 @@ -411,13 +228,19 @@ gEnablePowerSaveOffload=2 #Enable firmware uart print gEnablefwprint=0 -#P2P Listen offload -gEnableP2pListenOffload=1 +# 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) +# 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) +# Maximum MPDU length (VHT only. Valid values: +# 0->3895 octets, 1->7991 octets, 2->11454 octets) gVhtMpduLen=2 # Maximum number of wow filters required @@ -427,7 +250,7 @@ gVhtMpduLen=2 # 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 patter and 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 @@ -448,9 +271,6 @@ gEnableOverLapCh=0 #Enable VHT on 2.4Ghz gEnableVhtFor24GHzBand=1 -#Enable or Disable 5G early beacon termination -gEnable5gEBT=1 - #Maximum number of offload peers supported # gMaxOffloadPeers=2 @@ -459,13 +279,14 @@ gEnable5gEBT=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 +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. @@ -477,7 +298,7 @@ gMaxConcurrentActiveSessions=3 # Disable/Enable GreenAP # 0 to disable, 1 to enable, default: 1 -gEnableGreenAp=1 +gEnableGreenAp=0 # Radar PRI multiplier gDFSradarMappingPriMultiplier=4 @@ -486,7 +307,7 @@ gPNOScanSupport=1 #Enable/Disable LPASS support # 0 to disable, 1 to enable -gEnableLpassSupport=0 +gEnableLpassSupport=1 # Whether userspace country code setting shld have priority gCountryCodePriority=1 @@ -564,15 +385,17 @@ gEnable2x2=1 gVhtRxMCS2x2=2 gVhtTxMCS2x2=2 -#IPA config -gIPAConfig=0 +#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 -gIPAPreFilterEnable=1 -gIPARMEnable=1 -gIPAIPv6Enable=1 - -IpaUcOffloadEnabled=0 -gIpaUcStaOffload=0 # Enable/Disable RX full reorder offload gReorderOffloadSupported=1 @@ -581,9 +404,9 @@ gReorderOffloadSupported=1 # 1 - enable(default) 0 - disable gCEClassifyEnable=1 -#Enable Rx thread -# 1 - enable 0 - disable(default) -gEnableRxThread=0 +# Enable Rx handling options +# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium) +rx_mode=4 # Enable(Tx) fastpath for data traffic. # 1 - enable(default) 0 - disable @@ -593,19 +416,33 @@ gEnableFastPath=1 # 1 - enable(default) 0 - disable gEnableIpTcpUdpChecksumOffload=1 -# Enable NAPI -# 1 - enable(default) 0 - disable -gEnableNAPI=1 - # Enable TCP Segmentation Offload -# 1 - enable(default) 0 - disable +# 1 - enable 0 - disable TSOEnable=1 # Enable Large Recieve Offload # 1 - enable(default) 0 - disable LROEnable=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 + ################ Datapath feature set End ################ +################ NAN feature set start ################### + +# Enable NAN discovery (NAN 1.0) +# 1 - enable 0 - disable(default) +gEnableNanSupport=1 +################ NAN feature set end ##################### + END # Note: Configuration parser would not read anything past the END marker diff --git a/android_filesystem_config.h b/android_filesystem_config.h index 3cf40c4..7251a08 100644..100755 --- a/android_filesystem_config.h +++ b/android_filesystem_config.h @@ -30,11 +30,22 @@ #include <private/android_filesystem_config.h> -#define NO_ANDROID_FILESYSTEM_CONFIG_DEVICE_DIRS static const struct fs_path_config android_device_files[] = { // { 00755, AID_UID, AID_GID, (1ULL << CAPABILITY), "PATH_TO_BINARY" }, { 00755, AID_BLUETOOTH, AID_BLUETOOTH, (1ULL << CAP_BLOCK_SUSPEND), "system/bin/wcnss_filter" }, + { 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/pm-service" }, + { 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/vendor/bin/pm-service" }, + { 00755, AID_SYSTEM, AID_SYSTEM, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/imsdatadaemon" }, + { 00755, AID_SYSTEM, AID_RADIO, (1ULL << CAP_NET_BIND_SERVICE), "system/bin/ims_rtp_daemon" }, #ifdef NO_ANDROID_FILESYSTEM_CONFIG_DEVICE_DIRS { 00000, AID_ROOT, AID_ROOT, 0, "system/etc/fs_config_dirs" }, #endif }; + + +static const struct fs_path_config android_device_dirs[] = { + { 00771, AID_SYSTEM, AID_SYSTEM, 0, "firmware" }, + { 00771, AID_SYSTEM, AID_SYSTEM, 0, "bt_firmware" }, + { 00771, AID_MEDIA, AID_MEDIA, 0, "dsp" }, + { 00771, AID_SYSTEM, AID_SYSTEM, 0, "persist" }, +}; diff --git a/appboosts.xml b/appboosts.xml new file mode 100755 index 0000000..a05c22c --- /dev/null +++ b/appboosts.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> + +<!-- +/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * 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. + */ +--> + +<PerfBoosts> + <!--Boost params mappings need to be defined for target--> + <BoostParamsMappings> + <BoostAttributes + MapType="freq" + Target="sdm660" + Resolution="1080p" + Mappings="890, 1100, 1400, 1700, 2400" /> + <BoostAttributes + MapType="freq" + Target="sdm660" + Resolution="2560" + Mappings="890, 1100, 1400, 1700, 2400" /> + <BoostAttributes + MapType="cluster" + Target="sdm660" + Resolution="any" + Mappings="0, 1, 1" /> + <BoostAttributes + MapType="freq" + Target="sdm630" + Resolution="1080p" + Mappings="787, 1344, 1670, 1881, 2300" /> + <BoostAttributes + MapType="cluster" + Target="sdm630" + Resolution="any" + Mappings="0, 1, 1" /> + </BoostParamsMappings> +</PerfBoosts> diff --git a/fstab.qcom b/fstab.qcom index 11c9644..a60b0bb 100644..100755 --- a/fstab.qcom +++ b/fstab.qcom @@ -6,8 +6,10 @@ # Currently we dont have e2fsck compiled. So fs check would failed. #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait -/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,check,encryptable=footer -/devices/soc/c0a4900.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer -/dev/block/zram0 none swap defaults zramsize=536870912 +/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait,slotselect,verify +/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,lazytime wait,check,forceencrypt=footer,crashcheck +/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults +/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect +/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait,slotselect +/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto diff --git a/gamedwhitelist.xml b/gamedwhitelist.xml new file mode 100755 index 0000000..ed1e870 --- /dev/null +++ b/gamedwhitelist.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> + +<!-- +/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * 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. + */ +--> + + <!-- +/* Three lists exists, + * GamedRoBlackList: the name pf the apps + * for which the gamed profile should never be applied. + * GamedROGame lists: the name of the apps for which gamed + * profile should always be applied. + * The above two lists are never modified. And contain at + * max of 20 entries. + * ReadWriteGamed lists is the list of the apps for which the + * decision to apply a game-profile is based on the type of + * the app. This list can contain 100 entries. + * Can be over-written during the execution of the program.It + * is maintained as a circular list. + * + * Activity Type for GamedAppList is determined as follows + * GAME =1 , Benchmark =2 , App =3. +*/ --> +<AppCatalog> + <GamedROBlackList> + <AppAttributes + PackageName="com.android.launcher2" + ActivityType="3" /> + <AppAttributes + PackageName="com.android.launcher3" + ActivityType="3" /> + <AppAttributes + PackageName="com.android.systemui" + ActivityType="3" /> + <AppAttributes + PackageName="com.google.android.talk" + ActivityType="3" /> + <AppAttributes + PackageName="com.facebook.katana" + ActivityType="3" /> + </GamedROBlackList> + + <GamedROGameList> + <AppAttributes + PackageName="com.ea.games.r3_row" + ActivityType="1" /> + <AppAttributes + PackageName="com.kiloo.subwaysurf" + ActivityType="1" /> + </GamedROGameList> + + <GamedRWAppList> + </GamedRWAppList> + +</AppCatalog> diff --git a/gpio-keys.kl b/gpio-keys.kl index 2147c94..7d5afc3 100644..100755 --- a/gpio-keys.kl +++ b/gpio-keys.kl @@ -25,8 +25,8 @@ # 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 WAKE_DROPPED -key 114 VOLUME_DOWN WAKE_DROPPED -key 102 HOME WAKE_DROPPED -key 528 FOCUS WAKE_DROPPED -key 766 CAMERA WAKE_DROPPED +key 115 VOLUME_UP +key 114 VOLUME_DOWN +key 102 HOME +key 528 FOCUS +key 766 CAMERA diff --git a/hostapd.accept b/hostapd.accept index 923eab6..923eab6 100644..100755 --- a/hostapd.accept +++ b/hostapd.accept diff --git a/hostapd.conf b/hostapd.conf index 28fd3bc..28fd3bc 100644..100755 --- a/hostapd.conf +++ b/hostapd.conf diff --git a/hostapd.deny b/hostapd.deny index e4b6c09..e4b6c09 100644..100755 --- a/hostapd.deny +++ b/hostapd.deny diff --git a/init.qcom.modem_links.sh b/init.qcom.modem_links.sh index 8aba652..8aba652 100644..100755 --- a/init.qcom.modem_links.sh +++ b/init.qcom.modem_links.sh diff --git a/init.qti.qseecomd.sh b/init.qti.qseecomd.sh new file mode 100755 index 0000000..9d14ea2 --- /dev/null +++ b/init.qti.qseecomd.sh @@ -0,0 +1,35 @@ +#!/system/bin/sh +# Copyright (c) 2016, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# 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. +# +# + +while [ "$registered" != "true" ] +do + sleep 0.1 + registered="`getprop sys.listeners.registered`" +done diff --git a/init.target.rc b/init.target.rc index 909f6f2..f33e1f0 100644..100755 --- a/init.target.rc +++ b/init.target.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. +# Copyright (c) 2013-2017, 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 @@ -28,14 +28,19 @@ # on early-init - mkdir /firmware 0771 system system - mkdir /bt_firmware 0771 system system symlink /data/tombstones /tombstones - mkdir /dsp 0771 media media + +on init + write /dev/stune/foreground/schedtune.sched_boost_no_override 1 + write /dev/stune/top-app/schedtune.sched_boost_no_override 1 + write /dev/stune/schedtune.colocate 0 + write /dev/stune/background/schedtune.colocate 0 + write /dev/stune/system-background/schedtune.colocate 0 + write /dev/stune/foreground/schedtune.colocate 0 + write /dev/stune/top-app/schedtune.colocate 1 on fs - wait /dev/block/platform/soc/1da4000.ufshc - symlink /dev/block/platform/soc/1da4000.ufshc /dev/block/bootdevice + wait /dev/block/bootdevice mount_all fstab.qcom swapon_all fstab.qcom @@ -43,27 +48,23 @@ on fs # these partition flashed on the device. Failure to mount any partition in fstab file # results in failure to launch late-start class. - wait /dev/block/bootdevice/by-name/cache - mount ext4 /dev/block/bootdevice/by-name/cache /cache nosuid nodev barrier=1 - wait /dev/block/bootdevice/by-name/persist mount ext4 /dev/block/bootdevice/by-name/persist /persist nosuid nodev barrier=1 mkdir /persist/data 0700 system system mkdir /persist/bms 0700 root system restorecon_recursive /persist - wait /dev/block/bootdevice/by-name/dsp mount ext4 /dev/block/bootdevice/by-name/dsp /dsp ro nosuid nodev barrier=1 - - wait /dev/block/bootdevice/by-name/modem - mount vfat /dev/block/bootdevice/by-name/modem /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 - - wait /dev/block/bootdevice/by-name/bluetooth - mount vfat /dev/block/bootdevice/by-name/bluetooth /bt_firmware ro shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 + mount ext4 /dev/block/bootdevice/by-name/dsp_a /dsp ro nosuid nodev barrier=1 on post-fs + start qseecomd + exec - root root root -- /system/bin/init.qti.qseecomd.sh write /dev/ipa 1 +on init + write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 + on post-fs-data mkdir /data/tombstones 0771 system system mkdir /tombstones/modem 0771 system system @@ -71,21 +72,66 @@ on post-fs-data mkdir /tombstones/wcnss 0771 system system mkdir /tombstones/dsps 0771 system system mkdir /data/misc/hbtp 0750 system system + mkdir /data/misc/seemp 0700 system system + mkdir /data/misc/tloc 0700 system drmrpc +# For cpusets initialize for Silver Only first and then Silver + Gold +# Silver Only configuration cannot work with 0-7 on boot start rmt_storage start rfs_access + write /dev/cpuset/top-app/cpus 0-3 + write /dev/cpuset/foreground/cpus 0-3 + write /dev/cpuset/foreground/boost/cpus 0-3 + write /dev/cpuset/background/cpus 0-3 + write /dev/cpuset/system-background/cpus 0-3 write /dev/cpuset/top-app/cpus 0-7 write /dev/cpuset/foreground/cpus 0-7 write /dev/cpuset/foreground/boost/cpus 0-7 - write /dev/cpuset/background/cpus 0-7 - write /dev/cpuset/system-background/cpus 0-7 + write /dev/cpuset/background/cpus 0 + write /dev/cpuset/system-background/cpus 0-2 + ####Regionalization config and prop files#### + chmod 0644 /persist/speccfg/spec + chmod 0644 /persist/speccfg/devicetype + chmod 0644 /persist/speccfg/mbnversion + chmod 0644 /persist/speccfg/.not_triggered + chmod 0644 /persist/speccfg/vendor_ro.prop + chmod 0644 /persist/speccfg/vendor_persist.prop + chmod 0644 /persist/speccfg/submask + chmod 0644 /persist/speccfg/partition + chown system system /persist/speccfg/spec + chown system system /persist/speccfg/devicetype + chown system system /persist/speccfg/mbnversion + chown system system /persist/speccfg/.not_triggered + chown system system /persist/speccfg/vendor_ro.prop + chown system system /persist/speccfg/vendor_persist.prop + chown system system /persist/speccfg/submask + chown system system /persist/speccfg/partition + +#Peripheral manager +service per_mgr /system/bin/pm-service + class core + user system + group system + ioprio rt 4 + +service per_proxy /system/bin/pm-proxy + class core + user system + group system + disabled + +on property:init.svc.per_mgr=running + start per_proxy + +on property:sys.shutdown.requested=* + stop per_proxy #start camera server as daemon -service qcamerasvr /system/bin/mm-qcamera-daemon - class late_start - user camera - group camera system inet input graphics +#service qcamerasvr /system/bin/mm-qcamera-daemon +# class late_start +# user camera +# group camera system inet input graphics ## import cne init file #on post-fs @@ -130,6 +176,9 @@ service qseecomd /system/bin/qseecomd service thermal-engine /system/vendor/bin/thermal-engine class main user root + socket thermal-send-client stream 0666 system system + socket thermal-recv-client stream 0660 system system + socket thermal-recv-passive-client stream 0666 system system group root #service security-check1 /sbin/security_boot_check system @@ -156,10 +205,10 @@ service hbtp /system/vendor/bin/hbtp_daemon group system disabled -#service audiod /system/bin/audiod -# class late_start -# user system -# group system +service audiod /system/bin/audiod + class late_start + user system + group system # #service usf_tester /system/bin/usf_tester # user system @@ -226,13 +275,13 @@ service imsqmidaemon /system/bin/imsqmidaemon class main user system socket ims_qmid stream 0660 system radio - group radio net_raw log diag + group radio log diag service imsdatadaemon /system/bin/imsdatadaemon class main user system socket ims_datad stream 0660 system radio - group system wifi radio inet net_raw log diag net_admin + group system wifi radio inet log diag disabled # #service mdm_helper /system/bin/mdm_helper @@ -275,6 +324,18 @@ service imsdatadaemon /system/bin/imsdatadaemon #service gnss-detect /system/vendor/bin/gnss.qca1530.sh detect # class core # oneshot + +service energy-awareness /system/bin/energy-awareness + class main + user system + group system + oneshot + +service mdtpd /system/vendor/bin/mdtpd + class late_start + user root + group system radio drmrpc + service pd_mapper /system/vendor/bin/pd-mapper class core @@ -298,7 +359,7 @@ service ims_rtp_daemon /system/bin/ims_rtp_daemon class main user system socket ims_rtpd stream 0660 system radio - group radio net_raw diag inet log + group radio diag inet log disabled service imscmservice /system/bin/imscmservice @@ -309,7 +370,8 @@ service imscmservice /system/bin/imscmservice on property:sys.ims.DATA_DAEMON_STATUS=1 start ims_rtp_daemon -# + start imscmservice + service ppd /system/vendor/bin/mm-pp-dpps class late_start @@ -336,6 +398,11 @@ on property:init.svc.zygote=running on property:init.svc.zygote=restarting stop ppd +on charger + load_system_props + start qcom-post-boot + start hvdcp_opti + # #service nqs /system/bin/nqs # class late_start @@ -354,3 +421,25 @@ on property:init.svc.zygote=restarting # socket vqtss stream 0660 system system # user system # group system + +service seempd /system/bin/seempd +class late_start +user system +group system sdcard_rw +socket seempdw dgram 0666 system system + +service tlocd /system/bin/tloc_daemon + class late_start + user system + group drmrpc + +service hvdcp_opti /system/bin/hvdcp_opti + class main + user root + group system wakelock + +service smcinvoked /system/vendor/bin/smcinvoked + class main + user system + group system + diff --git a/media_codecs.xml b/media_codecs.xml new file mode 100755 index 0000000..c6a96b6 --- /dev/null +++ b/media_codecs.xml @@ -0,0 +1,399 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright (C) 2012-2017 The Linux Foundation. All rights reserved. + Not a contribution. + + Copyright (C) 2012-2013 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- +<!DOCTYPE MediaCodecs [ +<!ELEMENT Include EMPTY> +<!ATTLIST Include href CDATA #REQUIRED> +<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*> +<!ELEMENT Decoders (MediaCodec|Include)*> +<!ELEMENT Encoders (MediaCodec|Include)*> +<!ELEMENT MediaCodec (Type|Quirk|Include)*> +<!ATTLIST MediaCodec name CDATA #REQUIRED> +<!ATTLIST MediaCodec type CDATA> +<!ELEMENT Type EMPTY> +<!ATTLIST Type name CDATA #REQUIRED> +<!ELEMENT Quirk EMPTY> +<!ATTLIST Quirk name CDATA #REQUIRED> +]> + +There's a simple and a complex syntax to declare the availability of a +media codec: + +A codec that properly follows the OpenMax spec and therefore doesn't have any +quirks and that only supports a single content type can be declared like so: + + <MediaCodec name="OMX.foo.bar" type="something/interesting" /> + +If a codec has quirks OR supports multiple content types, the following syntax +can be used: + + <MediaCodec name="OMX.foo.bar" > + <Type name="something/interesting" /> + <Type name="something/else" /> + ... + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + +Only the three quirks included above are recognized at this point: + +"requires-allocate-on-input-ports" + must be advertised if the component does not properly support specification + of input buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"requires-allocate-on-output-ports" + must be advertised if the component does not properly support specification + of output buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"output-buffers-are-unreadable" + must be advertised if the emitted output buffers of a decoder component + are not readable, i.e. use a custom format even though abusing one of + the official OMX colorspace constants. + Clients of such decoders will not be able to access the decoded data, + naturally making the component much less useful. The only use for + a component with this quirk is to render the output to the screen. + Audio decoders MUST NOT advertise this quirk. + Video decoders that advertise this quirk must be accompanied by a + corresponding color space converter for thumbnail extraction, + matching surfaceflinger support that can render the custom format to + a texture and possibly other code, so just DON'T USE THIS QUIRK. + + +--> + +<!-- + Decoder capabilities for sdm660 + __________ _________________________________________ ___________________ + | Codec | W H fps Mbps MB/s | Encode Secure-dec | + |__________|_________________________________________|___________________| + | hevc | 3840 2160 30 100 972000 | Y Y | + | h264 | 3840 2160 30 100 972000 | Y Y | + | h263 | 864 480 30 2 48600 | Y N | + | mpeg4 | 1920 1088 60 60 489600 | Y N | + | mpeg2 | 1920 1088 30 40 244800 | N Y | + | vc1 | 1920 1088 60 60 489600 | N N | + | vp8 | 3840 2160 30 100 972000 | Y N | + | vp9 | 3840 2160 30 100 972000 | N Y | + | divx3 | 720 480 30 2 40500 | N N | + | div4/5/6 | 1920 1088 30 10 244800 | N N | + |__________|_________________________________________|___________________| + +--> + +<!-- + Encoder capabilities for sdm660 + ____________________________________________________ + | Codec | W H fps Mbps MB/s | + |__________|_________________________________________| + | hevc | 3840 2160 30 100 972000 | + | h264 | 3840 2160 30 100 972000 | + | h263 | 864 480 30 2 48600 | + | mpeg4 | 1920 1088 30 40 244800 | + | vp8 | 1920 1088 30 40 244800 | + |____________________________________________________| +--> + +<MediaCodecs> + <Include href="media_codecs_google_audio.xml" /> + <Include href="media_codecs_google_telephony.xml" /> + <Settings> + <Setting name="max-video-encoder-input-buffers" value="11" /> + </Settings> + <Encoders> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="176x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Limit name="concurrent-instances" max="16" /> + <Feature name="intra-refresh" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x96" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Limit name="concurrent-instances" max="16" /> + <Feature name="intra-refresh" /> + <Feature name="can-swap-width-height" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x64" max="864x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="48600" /> + <Limit name="bitrate" range="1-2000000" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Limit name="concurrent-instances" max="16" /> + <Feature name="intra-refresh" /> + </MediaCodec> + </Encoders> + <Decoders> + <!-- Audio Hardware --> + <!-- Audio Software --> + <MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" > + <Limit name="concurrent-instances" max="10" /> + </MediaCodec> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + <Feature name="can-swap-width-height" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="bitrate" range="1-60000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="864x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="48600" /> + <Limit name="bitrate" range="1-2000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.wmv" type="video/x-ms-wmv" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="bitrate" range="1-60000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.wmv.secure" type="video/x-ms-wmv" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="bitrate" range="1-60000000" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="7" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vc1" type="video/x-ms-wmv" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="bitrate" range="1-60000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vc1.secure" type="video/x-ms-wmv" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="bitrate" range="1-60000000" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="7" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-10000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="720x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="40500" /> + <Limit name="bitrate" range="1-2000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-10000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="979200" /> + <Limit name="bitrate" range="1-100000000" /> + <Limit name="frame-rate" range="1-240" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="10" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="64x64" max="3840x2160" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="972000" /> + <Limit name="bitrate" range="1-100000000" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="16" /> + </MediaCodec> + </Decoders> + <Include href="media_codecs_google_video.xml" /> +</MediaCodecs> diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml new file mode 100755 index 0000000..1940ef3 --- /dev/null +++ b/media_codecs_performance.xml @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. + + Not a Contribution. + + Copyright 2015 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + 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="OMX.qcom.video.encoder.avc" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="294-294" /> + <Limit name="measured-frame-rate-720x480" range="80-90" /> + <Limit name="measured-frame-rate-1280x720" range="32-37" /> + <Limit name="measured-frame-rate-1920x1080" range="40-40" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-320x240" range="226-226" /> + <Limit name="measured-frame-rate-720x480" range="121-121" /> + <Limit name="measured-frame-rate-1280x720" range="49-49" /> + <Limit name="measured-frame-rate-1920x1080" range="16-45" /> + <Limit name="measured-frame-rate-3840x2160" range="6-24" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="400-400" /> + <Limit name="measured-frame-rate-352x288" range="261-261" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="351-351" /> + <Limit name="measured-frame-rate-352x288" range="263-263" /> + <Limit name="measured-frame-rate-640x480" range="144-144" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="312-312" /> + <Limit name="measured-frame-rate-640x360" range="175-174" /> + <Limit name="measured-frame-rate-1280x720" range="30-40" /> + <Limit name="measured-frame-rate-1920x1080" range="20-25" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="185-185" /> + <Limit name="measured-frame-rate-720x480" range="87-87" /> + <Limit name="measured-frame-rate-1280x720" range="45-45" /> + <Limit name="measured-frame-rate-1920x1080" range="28-28" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="354-354" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="385-385" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="100-120" /> + <Limit name="measured-frame-rate-640x360" range="45-50" /> + <Limit name="measured-frame-rate-1280x720" range="30-35" /> + <Limit name="measured-frame-rate-1920x1080" range="20-30" /> + </MediaCodec> + </Encoders> + <Decoders> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="409-409" /> + <Limit name="measured-frame-rate-720x480" range="239-239" /> + <Limit name="measured-frame-rate-1280x720" range="197-197" /> + <Limit name="measured-frame-rate-1920x1088" range="88-88" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="434-434" /> + <Limit name="measured-frame-rate-720x480" range="338-338" /> + <Limit name="measured-frame-rate-1280x720" range="241-241" /> + <Limit name="measured-frame-rate-1920x1088" range="90-100" /> + <Limit name="measured-frame-rate-3840x2160" range="30-40" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="400-400" /> + <Limit name="measured-frame-rate-352x288" range="323-323" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="635-650" /> + <Limit name="measured-frame-rate-480x360" range="268-268" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x240" range="430-430" /> + <Limit name="measured-frame-rate-640x360" range="303-303" /> + <Limit name="measured-frame-rate-1280x720" range="389-389" /> + <Limit name="measured-frame-rate-1920x1080" range="199-199" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x240" range="250-270" /> + <Limit name="measured-frame-rate-640x360" range="230-250" /> + <Limit name="measured-frame-rate-1280x720" range="190-210" /> + <Limit name="measured-frame-rate-1920x1080" range="170-190" /> + <Limit name="measured-frame-rate-3840x2160" range="48-48" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="320-350" /> + <Limit name="measured-frame-rate-720x480" range="100-130" /> + <Limit name="measured-frame-rate-1280x720" range="50-58" /> + <Limit name="measured-frame-rate-1920x1080" range="20-30" /> + </MediaCodec> + <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="458-458" /> + <Limit name="measured-frame-rate-640x360" range="210-215" /> + <Limit name="measured-frame-rate-720x480" range="344-344" /> + <Limit name="measured-frame-rate-1280x720" range="90-95" /> + <Limit name="measured-frame-rate-1920x1080" range="50-55" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="190-210" /> + <Limit name="measured-frame-rate-352x288" range="170-182" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x240" range="575-580" /> + <Limit name="measured-frame-rate-640x360" range="200-220" /> + <Limit name="measured-frame-rate-1280x720" range="45-55" /> + <Limit name="measured-frame-rate-1920x1080" range="18-22" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x240" range="580-604" /> + <Limit name="measured-frame-rate-640x360" range="180-185" /> + <Limit name="measured-frame-rate-1280x720" range="88-92" /> + <Limit name="measured-frame-rate-1920x1080" range="47-52" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.decoder" update="true"> + <Type name="video/mp4v-es"> + <Limit name="measured-frame-rate-176x144" range="380-400" /> + </Type> + </MediaCodec> + </Decoders> +</MediaCodecs> + diff --git a/media_profiles.xml b/media_profiles.xml new file mode 100755 index 0000000..c98d592 --- /dev/null +++ b/media_profiles.xml @@ -0,0 +1,1542 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2012-2016 The Linux Foundation. All rights reserved. + Not a contribution. + + 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) #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"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <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> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="24" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" 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="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </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="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + <!-- Front Camera --> + <CamcorderProfiles cameraId="1"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <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> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <!-- TIMELAPSE profiles for front camera --> + <EncoderProfile quality="timelapselow" 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="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </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="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <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> + + <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> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + <!-- Logical Camera --> + <CamcorderProfiles cameraId="2"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <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> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="24" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" 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="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </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="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + <!-- Logical Camera --> + <CamcorderProfiles cameraId="3"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <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> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="24" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" 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="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </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="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqhd" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="2560" + height="1440" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2k" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="2048" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse4kdci" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="4096" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="42000000" + width="3840" + height="2160" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </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="42000000" + minFrameWidth="176" maxFrameWidth="4096" + minFrameHeight="144" maxFrameHeight="2160" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="1920" maxHFRFrameHeight="1080" + maxHFRMode="60" /> + + <VideoEncoderCap name="h263" enabled="true" + minBitRate="64000" maxBitRate="2000000" + minFrameWidth="176" maxFrameWidth="800" + minFrameHeight="144" maxFrameHeight="480" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <VideoEncoderCap name="m4v" enabled="true" + minBitRate="64000" maxBitRate="40000000" + minFrameWidth="176" maxFrameWidth="1920" + minFrameHeight="144" maxFrameHeight="1088" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <VideoEncoderCap name="hevc" enabled="true" + minBitRate="64000" maxBitRate="100000000" + minFrameWidth="176" maxFrameWidth="4096" + minFrameHeight="144" maxFrameHeight="2160" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <AudioEncoderCap name="aac" enabled="true" + minBitRate="8000" maxBitRate="96000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="6" /> + + <AudioEncoderCap name="heaac" enabled="true" + minBitRate="8000" maxBitRate="64000" + minSampleRate="16000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="aaceld" enabled="true" + minBitRate="16000" maxBitRate="192000" + minSampleRate="16000" maxSampleRate="48000" + minChannels="1" maxChannels="1" /> + + <AudioEncoderCap name="amrwb" enabled="true" + minBitRate="6600" maxBitRate="23850" + 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" /> + + <AudioEncoderCap name="lpcm" enabled="true" + minBitRate="768000" maxBitRate="4608000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="6" /> + + <!-- + 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="true"/> + <AudioDecoderCap name="wma" enabled="true"/> + + <!-- + The VideoEditor Capability configuration: + - maxInputFrameWidth: maximum video width of imported video clip. + - maxInputFrameHeight: maximum video height of imported video clip. + - maxOutputFrameWidth: maximum video width of exported video clip. + - maxOutputFrameHeight: maximum video height of exported video clip. + - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder, + used to limit the amount of memory for prefetched YUV frames. + For this platform, it allows maximum 30MB(3MB per 1080p frame x 10 + frames) memory. + --> + <VideoEditorCap maxInputFrameWidth="1280" + maxInputFrameHeight="720" maxOutputFrameWidth="1280" + maxOutputFrameHeight="720" maxPrefetchYUVFrames="10"/> + <!-- + The VideoEditor Export codec profile and level values + correspond to the values in OMX_Video.h. + E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline + and level 4096 means OMX_VIDEO_AVCLevel41. + Please note that the values are in decimal. + These values are for video encoder. + --> + <!-- + Codec = h.264, Baseline profile, level 4.0 + --> + <ExportVideoProfile name="h264" profile= "1" level="2048"/> + <!-- + Codec = h.263, Baseline profile, level 70 + --> + <ExportVideoProfile name="h263" profile= "1" level="128"/> + <!-- + Codec = mpeg4, Simple profile, level 5 + --> + <ExportVideoProfile name="m4v" profile= "1" level="128"/> +</MediaSettings> diff --git a/msm_irqbalance.conf b/msm_irqbalance.conf index f6f4f8a..981ba23 100644..100755 --- a/msm_irqbalance.conf +++ b/msm_irqbalance.conf @@ -1,2 +1,5 @@ -PRIO=1,1,1,1,0,0,0,0 -IGNORED_IRQ=19,39,165 +PRIO=1,1,0,0,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer, glink-smem-rpm, mpm irqs +IGNORED_IRQ=19,22,39,200,203 +#WLAN irqs +BLACKLIST_IRQ=446,455,456 diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 1825a0b..f7cba1e 100644..100755 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -35,32 +35,47 @@ <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode--> <item>0x1</item> <!-- SCHEDBOOST resource value--> <item>0x40804000</item> <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode--> - <item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value--> + <item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value--> <item>0x40804100</item> <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode--> - <item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value--> - <item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode--> - <item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value--> - <item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode--> - <item>0xFFF</item> <!-- CPUBOOST MIN_FREQ resource value--> - <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode--> - <item>140</item> <!-- CPUBW_MIN_FREQ resource value--> + <item>0xFFF</item> <!-- CPUBOOST MAX_FREQ resource value--> + <item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode--> + <item>3</item> <!-- CPUBOOST MIN_FREQ resource value--> + <item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode--> + <item>2</item> <!-- CPUBOOST MIN_FREQ resource value--> + </integer-array> + <!-- Whether packing disable is enabled. --> + <bool name="config_disablePacking">true</bool> + <integer name="disablepacking_timeout_param">1500</integer> + <integer-array name="launchboost_packing_param_value"> <item>0x40400000</item> <!-- POWER COLLAPSE resource opcode--> <item>0x1</item> <!-- POWER COLLAPSE resource value--> <item>0x42C10000</item> <!-- STORAGE CLK SCALING resource opcode--> <item>0x1</item> <!-- STORAGE CLK SCALING resource value--> </integer-array> + <bool name="config_enableLaunchBoostv2">true</bool> + <integer name="lboostv2_timeout_param">15000</integer> + <integer-array name="lboostv2_param_value"> + <item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode--> + <item>50</item> <!-- SCHED FREQ_AGGR_THRH resource value--> + </integer-array> + + <bool name="config_enableCpuBoostForOverScrollerFling">true</bool> <integer-array name="flingboost_param_value"> - <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode--> - <item>0x33</item> <!-- CPUBW_MIN_FREQ resource value--> - <item>0x40800000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode --> - <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value --> - <item>0x40800100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode --> - <item>1000</item> <!-- CPUBOOST MIN_FREQ resource value --> <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode--> - <item>0x1</item> <!-- SCHEDBOOST resource value--> - <item>0x40C28000</item> <!-- SCHEDGROUP resource opcode--> - <item>0x1</item> <!-- SCHEDGROUP resource value--> + <item>0x2</item> <!-- SCHEDBOOST resource value--> + <item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode --> + <item>1</item> <!-- CPUBOOST MIN_FREQ resource value --> + <item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode --> + <item>1</item> <!-- CPUBOOST MIN_FREQ resource value --> + <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode--> + <item>0x31</item> <!-- CPUBW_MIN_FREQ resource value--> + <item>0x41400000</item> <!-- ABOVE_HISPEED_DELAY_BIG resource opcode--> + <item>1</item> <!-- ABOVE_HISPEED_DELAY_BIG resource value--> + <item>0x41418000</item> <!-- IO_IS_BUSY_BIG resource opcode--> + <item>1</item> <!-- IO_IS_BUSY_BIG resource value--> + <item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode--> + <item>40</item> <!-- SCHED FREQ_AGGR_THRH resource value--> </integer-array> <!-- Operating volatage for bluetooth controller. 0 by default--> @@ -69,7 +84,19 @@ <bool name="config_enableCpuBoostForScroller">true</bool> <integer-array name="scrollboost_param_value"> <item>0x40C00000</item> <!-- SCHEDBOOST resource opcode--> - <item>0x1</item> <!-- SCHEDBOOST resource value--> + <item>0x2</item> <!-- SCHEDBOOST resource value--> + <item>0x40802000</item> <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode --> + <item>1</item> <!-- CPUBOOST MIN_FREQ resource value --> + <item>0x40802100</item> <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode --> + <item>1</item> <!-- CPUBOOST MIN_FREQ resource value --> + <item>0x41800000</item> <!-- CPUBW_MIN_FREQ resource opcode--> + <item>0x31</item> <!-- CPUBW_MIN_FREQ resource value--> + <item>0x41400000</item> <!-- ABOVE_HISPEED_DELAY_BIG resource opcode--> + <item>1</item> <!-- ABOVE_HISPEED_DELAY_BIG resource value--> + <item>0x41418000</item> <!-- IO_IS_BUSY_BIG resource opcode--> + <item>1</item> <!-- IO_IS_BUSY_BIG resource value--> + <item>0x40C5C000</item> <!-- SCHED FREQ_AGGR_THRH resource opcode--> + <item>40</item> <!-- SCHED FREQ_AGGR_THRH resource value--> </integer-array> <bool name="config_debugBoost">true</bool> @@ -89,4 +116,8 @@ <item>0x40800000</item> <!-- SCALING_MIN_FREQ big cluster resource opcode --> <item>0x4A6</item> <!-- SCALING_MIN_FREQ of 1190 MHz big cluster resource value --> </integer-array> + <!-- The duration (in milliseconds) for the outgoing sms authorization request to timeout.--> + <integer name="config_sms_authorization_timeout_ms">15000</integer> + <!-- Enable SMS authorization support --> + <bool name="config_sms_authorization_enabled">true</bool> </resources> diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml new file mode 100755 index 0000000..39c08d7 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (c) 2016, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + 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 +--> + + +<device name="Android"> + <!-- Most values are the incremental current used by a feature, + in mA (measured at nominal voltage). + The default values are deliberately incorrect dummy values. + OEM's must measure and provide actual values before + shipping a device. + Example real-world values are given in comments, but they + are totally dependent on the platform and can vary + significantly, so should be measured on the shipping platform + with a power meter. --> + <item name="none">0</item> + <item name="screen.on">63</item> <!-- ~200mA --> + <item name="screen.full">261</item> <!-- ~300mA --> + + <!-- A list of heterogeneous CPU clusters, where the value for each cluster represents the + number of CPU cores for that cluster. + + Ex: + <array name="cpu.clusters.cores"> + <value>4</value> // cluster 0 has cpu0, cpu1, cpu2, cpu3 + <value>2</value> // cluster 1 has cpu4, cpu5 + </array> --> + <array name="cpu.clusters.cores"> + <value>4</value> <!-- cluster 0 has cpu0, cpu1, cpu2, cpu3 --> + <value>4</value> <!-- cluster 1 has cpu4, cpu5, cpu6, cpu7 --> + </array> + + <!-- Different CPU speeds for cluster 0 as reported in + /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state. + + There must be one of these for each cluster, labeled: + cpu.speeds.cluster0, cpu.speeds.cluster1, etc... --> + <array name="cpu.speeds.cluster0"> + <value>633000</value> <!-- 633 MHz CPU speed --> + <value>902000</value> <!-- 902 MHz CPU speed --> + <value>1113000</value> <!-- 1113 MHz CPU speed --> + <value>1401000</value> <!-- 1401 MHz CPU speed --> + <value>1536000</value> <!-- 1536 MHz CPU speed --> + <value>1747000</value> <!-- 1747 MHz CPU speed --> + <value>1843000</value> <!-- 1843 MHz CPU speed --> + </array> + + <!-- Current at each CPU speed for cluster 0, as per 'cpu.speeds.cluster0'. + Like cpu.speeds.cluster0, there must be one of these present for + each heterogeneous CPU cluster. --> + <array name="cpu.active.cluster0"> + <value>34</value> <!-- ~34mA --> + <value>60</value> <!-- ~60mA --> + <value>85</value> <!-- ~85mA --> + <value>128</value> <!-- ~128mA --> + <value>163</value> <!-- ~163mA --> + <value>202</value> <!-- ~202mA --> + <value>253</value> <!-- ~253mA --> + </array> + + <array name="cpu.speeds.cluster1"> + <value>1113000</value> <!-- 1113 MHz CPU speed --> + <value>1401000</value> <!-- 1401 MHz CPU speed --> + <value>1747000</value> <!-- 1747 MHz CPU speed --> + <value>1958000</value> <!-- 1958 MHz CPU speed --> + <value>2150000</value> <!-- 2150 MHz CPU speed --> + </array> + + <!-- Current at each CPU speed for cluster 1, as per 'cpu.speeds.cluster1'. + Like cpu.speeds.cluster1, there must be one of these present for + each heterogeneous CPU cluster. --> + <array name="cpu.active.cluster1"> + <value>226</value> <!-- ~226mA --> + <value>331</value> <!-- ~331mA --> + <value>497</value> <!-- ~497mA --> + <value>614</value> <!-- ~614mA --> + <value>777</value> <!-- ~777mA --> + + </array> + + <!-- Current when CPU is awake --> + <item name="cpu.awake">1.6</item> + <!-- Current when CPU is idle --> + <item name="cpu.idle">0.1</item> + + <!-- This is the battery capacity in mAh (measured at nominal voltage) --> + <item name="battery.capacity">1000</item> + +</device> diff --git a/p2p_supplicant_overlay.conf b/p2p_supplicant_overlay.conf index b5e89e0..b5e89e0 100644..100755 --- a/p2p_supplicant_overlay.conf +++ b/p2p_supplicant_overlay.conf diff --git a/radio/filesmap b/radio/filesmap index 4e6619e..b4cbcec 100644..100755 --- a/radio/filesmap +++ b/radio/filesmap @@ -1,4 +1,4 @@ -# Copyright (c) 2013, The Linux Foundation. All rights reserved. +# Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are @@ -27,19 +27,38 @@ # filename partition -NON-HLOS.bin /dev/block/platform/bootdevice/by-name/modem - -sbl1.mbn /dev/block/platform/bootdevice/by-name/sbl1 -tz.mbn /dev/block/platform/bootdevice/by-name/tz -rpm.mbn /dev/block/platform/bootdevice/by-name/rpm -emmc_appsboot.mbn /dev/block/platform/bootdevice/by-name/aboot +NON-HLOS.bin /dev/block/bootdevice/by-name/modem +BTFM.bin /dev/block/bootdevice/by-name/bluetooth +sbl1.mbn /dev/block/bootdevice/by-name/sbl1 +tz.mbn /dev/block/bootdevice/by-name/tz +rpm.mbn /dev/block/bootdevice/by-name/rpm +emmc_appsboot.mbn /dev/block/bootdevice/by-name/aboot +hyp.mbn /dev/block/bootdevice/by-name/hyp +pmic.mbn /dev/block/bootdevice/by-name/pmic +cmnlib.mbn /dev/block/bootdevice/by-name/cmnlib +cmnlib64.mbn /dev/block/bootdevice/by-name/cmnlib64 +keymaster.mbn /dev/block/bootdevice/by-name/keymaster +xbl.elf /dev/block/bootdevice/by-name/xbl +lksecapp.mbn /dev/block/bootdevice/by-name/lksecapp +devcfg.mbn /dev/block/bootdevice/by-name/devcfg +adspso.mbn /dev/block/bootdevice/by-name/dsp +abl.elf /dev/block/bootdevice/by-name/abl # filename + .bak backup partition -sbl1.mbn.bak /dev/block/platform/bootdevice/by-name/sbl1bak -tz.mbn.bak /dev/block/platform/bootdevice/by-name/tzbak -rpm.mbn.bak /dev/block/platform/bootdevice/by-name/rpmbak -emmc_appsboot.mbn.bak /dev/block/platform/bootdevice/by-name/abootbak +sbl1.mbn.bak /dev/block/bootdevice/by-name/sbl1bak +tz.mbn.bak /dev/block/bootdevice/by-name/tzbak +rpm.mbn.bak /dev/block/bootdevice/by-name/rpmbak +emmc_appsboot.mbn.bak /dev/block/bootdevice/by-name/abootbak +hyp.mbn.bak /dev/block/bootdevice/by-name/hypbak +pmic.mbn.bak /dev/block/bootdevice/by-name/pmicbak +cmnlib.mbn.bak /dev/block/bootdevice/by-name/cmnlibbak +cmnlib64.mbn.bak /dev/block/bootdevice/by-name/cmnlib64bak +keymaster.mbn.bak /dev/block/bootdevice/by-name/keymasterbak +xbl.elf.bak /dev/block/bootdevice/by-name/xblbak +lksecapp.mbn.bak /dev/block/bootdevice/by-name/lksecappbak +devcfg.mbn.bak /dev/block/bootdevice/by-name/devcfgbak +abl.elf.bak /dev/block/bootdevice/by-name/ablbak # For multiple file firmware images that differ from *.mbn and *.bin # you can specify filename.* to direct all files to the same location. @@ -50,7 +69,7 @@ emmc_appsboot.mbn.bak /dev/block/platform/bootdevice/by-name/abootbak # filename location -modem.* /dev/block/platform/bootdevice/by-name/modem -wcnss.* /dev/block/platform/bootdevice/by-name/modem -widevine.* /dev/block/platform/bootdevice/by-name/modem -adsp.* /dev/block/platform/bootdevice/by-name/modem +modem.* /dev/block/bootdevice/by-name/modem +wcnss.* /dev/block/bootdevice/by-name/modem +widevine.* /dev/block/bootdevice/by-name/modem +adsp.* /dev/block/bootdevice/by-name/modem diff --git a/recovery.fstab b/recovery.fstab index 1f32b4e..26af1bb 100644..100755 --- a/recovery.fstab +++ b/recovery.fstab @@ -27,10 +27,9 @@ #device mount point fstype [device2] [length=] -/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait -/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check -/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check -/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev,barrier=1,data=ordered,nodelalloc wait +/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1 wait,slotselect,verify +/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer +/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait /dev/block/bootdevice/by-name/boot /boot emmc defaults defaults /dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/msmfalcon_64.mk b/sdm660_64.mk index 33d7957..10b7ff8 100644..100755 --- a/msmfalcon_64.mk +++ b/sdm660_64.mk @@ -1,27 +1,53 @@ -DEVICE_PACKAGE_OVERLAYS := device/qcom/msmfalcon_64/overlay +DEVICE_PACKAGE_OVERLAYS := device/qcom/sdm660_64/overlay TARGET_KERNEL_VERSION := 4.4 +BOARD_FRP_PARTITION_NAME := frp BOARD_HAVE_QCOM_FM := true #TARGET_USES_QTIC := false # bring-up hack +TARGET_USES_NQ_NFC := true +ifeq ($(TARGET_USES_NQ_NFC),true) +# Flag to enable and support NQ3XX chipsets +NQ3XX_PRESENT := true +endif + +#QTIC flag +-include $(QCPATH)/common/config/qtic-config.mk + TARGET_ENABLE_QC_AV_ENHANCEMENTS := true # Video codec configuration files ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS), true) -PRODUCT_COPY_FILES += device/qcom/msmfalcon_32/media_profiles.xml:system/etc/media_profiles.xml \ - device/qcom/msmfalcon_32/media_codecs.xml:system/etc/media_codecs.xml +PRODUCT_COPY_FILES += device/qcom/sdm660_64/media_profiles.xml:system/etc/media_profiles.xml \ + device/qcom/sdm660_64/media_codecs.xml:system/etc/media_codecs.xml \ + device/qcom/sdm660_64/media_codecs_performance.xml:system/etc/media_codecs_performance.xml endif #TARGET_ENABLE_QC_AV_ENHANCEMENTS +PRODUCT_COPY_FILES += device/qcom/sdm660_64/whitelistedapps.xml:system/vendor/etc/whitelistedapps.xml \ + device/qcom/sdm660_64/gamedwhitelist.xml:system/vendor/etc/gamedwhitelist.xml \ + device/qcom/sdm660_64/appboosts.xml:system/vendor/etc/appboosts.xml + $(call inherit-product, device/qcom/common/common64.mk) -PRODUCT_NAME := msmfalcon_64 -PRODUCT_DEVICE := msmfalcon_64 +PRODUCT_NAME := sdm660_64 +PRODUCT_DEVICE := sdm660_64 PRODUCT_BRAND := Android -PRODUCT_MODEL := Falcon for arm64 +PRODUCT_MODEL := sdm660 for arm64 # default is nosdcard, S/W button enabled in resource PRODUCT_CHARACTERISTICS := nosdcard +# When can normal compile this module, need module owner enable below commands +# font rendering engine feature switch +-include $(QCPATH)/common/config/rendering-engine.mk +ifneq (,$(strip $(wildcard $(PRODUCT_RENDERING_ENGINE_REVLIB)))) + MULTI_LANG_ENGINE := REVERIE +# MULTI_LANG_ZAWGYI := REVERIE +endif + # Enable features in video HAL that can compile only on this platform TARGET_USES_MEDIA_EXTENSIONS := true +# WLAN chipset +WLAN_CHIPSET := qca_cld3 + #Android EGL implementation PRODUCT_PACKAGES += libGLES_android PRODUCT_BOOT_JARS += tcmiface @@ -40,15 +66,21 @@ PRODUCT_BOOT_JARS += qcom.fmradio endif #BOARD_HAVE_QCOM_FM # Audio configuration file --include $(TOPDIR)hardware/qcom/audio/configs/msmfalcon/msmfalcon.mk +-include $(TOPDIR)hardware/qcom/audio/configs/sdm660/sdm660.mk # Sensor HAL conf file PRODUCT_COPY_FILES += \ - device/qcom/msmfalcon_64/sensors/hals.conf:system/etc/sensors/hals.conf + device/qcom/sdm660_64/sensors/hals.conf:system/etc/sensors/hals.conf + +# WLAN host driver +ifneq ($(WLAN_CHIPSET),) +PRODUCT_PACKAGES += $(WLAN_CHIPSET)_wlan.ko +endif # WLAN driver configuration file PRODUCT_COPY_FILES += \ - device/qcom/msmfalcon_64/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini + device/qcom/sdm660_64/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini \ + device/qcom/sdm660_64/wifi_concurrency_cfg.txt:system/etc/wifi/wifi_concurrency_cfg.txt PRODUCT_PACKAGES += \ wpa_supplicant_overlay.conf \ @@ -76,13 +108,26 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:system/etc/permissions/android.hardware.sensor.relative_humidity.xml \ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml +# FBE support +PRODUCT_COPY_FILES += \ + device/qcom/sdm660_64/init.qti.qseecomd.sh:system/bin/init.qti.qseecomd.sh + # MSM IRQ Balancer configuration file -PRODUCT_COPY_FILES += device/qcom/msmfalcon_64/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf +PRODUCT_COPY_FILES += device/qcom/sdm660_64/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf + +# dm-verity configuration +PRODUCT_SUPPORTS_VERITY := true +PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system #for android_filesystem_config.h PRODUCT_PACKAGES += \ fs_config_files +# Add the overlay path +PRODUCT_PACKAGE_OVERLAYS := $(QCPATH)/qrdplus/Extension/res \ + $(QCPATH)/qrdplus/globalization/multi-language/res-overlay \ + $(PRODUCT_PACKAGE_OVERLAYS) + # Enable logdumpd service only for non-perf bootimage ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),) ifeq ($(TARGET_BUILD_VARIANT),user) @@ -96,3 +141,16 @@ else PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ ro.logdumpd.enabled=0 endif + +#A/B related packages +PRODUCT_PACKAGES += update_engine \ + update_engine_client \ + update_verifier \ + bootctrl.sdm660 \ + brillo_update_payload +#Boot control HAL test app +PRODUCT_PACKAGES_DEBUG += bootctl + +#FEATURE_OPENGLES_EXTENSION_PACK support string config file +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml diff --git a/sensors/hals.conf b/sensors/hals.conf index 5f3a14b..5f3a14b 100644..100755 --- a/sensors/hals.conf +++ b/sensors/hals.conf diff --git a/snd_soc_msm/snd_soc_msm_Taiko b/snd_soc_msm/snd_soc_msm_Taiko index 4c10824..4c10824 100644..100755 --- a/snd_soc_msm/snd_soc_msm_Taiko +++ b/snd_soc_msm/snd_soc_msm_Taiko diff --git a/snd_soc_msm/snd_soc_msm_Taiko_CDP b/snd_soc_msm/snd_soc_msm_Taiko_CDP index 2ee90ac..2ee90ac 100644..100755 --- a/snd_soc_msm/snd_soc_msm_Taiko_CDP +++ b/snd_soc_msm/snd_soc_msm_Taiko_CDP diff --git a/snd_soc_msm/snd_soc_msm_Taiko_liquid b/snd_soc_msm/snd_soc_msm_Taiko_liquid index 2563a72..2563a72 100644..100755 --- a/snd_soc_msm/snd_soc_msm_Taiko_liquid +++ b/snd_soc_msm/snd_soc_msm_Taiko_liquid diff --git a/synaptics_rmi4_i2c.kl b/synaptics_rmi4_i2c.kl index 6ed0254..6ed0254 100644..100755 --- a/synaptics_rmi4_i2c.kl +++ b/synaptics_rmi4_i2c.kl diff --git a/system.prop b/system.prop index 3360c1e..56b4851 100644..100755 --- a/system.prop +++ b/system.prop @@ -1,5 +1,5 @@ # -# system.prop for falcon +# system.prop for sdm660 # #rild.libpath=/system/lib/libreference-ril.so @@ -16,8 +16,11 @@ persist.rild.nitz_short_ons_2= persist.rild.nitz_short_ons_3= ril.subscription.types=NV,RUIM DEVICE_PROVISIONED=1 -# Start in cdma mode -ro.telephony.default_network=5 + +# +# Set network mode to (T/L/G/W/1X/EVDO, T/G/W/L) for 7+5 mode device on DSDS mode +# +ro.telephony.default_network=22,20 debug.sf.hw=1 debug.gralloc.enable_fb_ubwc=1 @@ -40,11 +43,23 @@ media.stagefright.enable-scan=true mmp.enable.3g2=true media.aac_51_output_enabled=true mm.enable.smoothstreaming=true -#13631487 is decimal sum of supported codecs in AAL #codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD mm.enable.qcom_parser=13631487 persist.mm.enable.prefetch=true +#property to enable narrow search range for video encoding +vidc.enc.target_support_bframe=1 +vidc.enc.disable_bframes=1 +vidc.dec.enable.downscalar=1 +video.disable.ubwc=1 + +# enable PQ feature by default +vidc.enc.disable.pq=false + +# Additional buffers shared between Camera and Video +vidc.enc.dcvs.extra-buff-count=2 + + # # system props for the data modules # @@ -57,11 +72,13 @@ persist.timed.enable=true # # system prop for opengles version # -# 196608 is decimal for 0x30000 to report version 3 -ro.opengles.version=196608 +# 196610 is decimal for 0x30002 to report major/minor versions as 3/2 +ro.opengles.version=196610 # system property for maximum number of HFP client connections bt.max.hfpclient.connections=1 +#force disable Bluetooth AAC by default +persist.bt.a2dp.aac_disable=true # System property for cabl ro.qualcomm.cabl=2 @@ -78,10 +95,8 @@ persist.fuse_sdcard=true #system prop for Bluetooth SOC type qcom.bluetooth.soc=cherokee -#system prop for A4WP profile support -ro.bluetooth.a4wp=false - #system prop for wipower support +ro.bluetooth.emb_wp_mode=true ro.bluetooth.wipower=true # @@ -99,14 +114,30 @@ persist.data.df.mux_count=8 persist.data.df.iwlan_mux=9 persist.data.df.dev_name=rmnet_usb0 +# +# system property determining camera HAL to be used for a Video call +# +# 1 is camera1 +# 2 or anything else is camera2 +persist.radio.VT_CAM_INTERFACE=2 + #property to enable user to access Google WFD settings persist.debug.wfd.enable=1 +#Enable stm-events +persist.debug.coresight.config=stm-events ##property to choose between virtual/external wfd display persist.sys.wfd.virtual=0 # system prop for NFC DT ro.nfc.port=I2C +#property for vendor specific library +ro.vendor.at_library=libqti-at.so + +#min/max cpu in core control +ro.core_ctl_min_cpu=2 +ro.core_ctl_max_cpu=4 + #hwui properties ro.hwui.texture_cache_size=72 ro.hwui.layer_cache_size=48 @@ -120,15 +151,36 @@ ro.hwui.text_small_cache_height=1024 ro.hwui.text_large_cache_width=2048 ro.hwui.text_large_cache_height=1024 -#config for bringup -config.disable_telephony=true -config.disable_networktime=true -config.disable_atlas=true -debug.sf.nobootanimation=1 -debug.batt.no_battery=true - # enable navigation bar qemu.hw.mainkeys=0 +#property to enable VDS WFD solution +persist.hwc.enable_vds=1 + #Increase cached app limit ro.sys.fw.bg_apps_limit=60 + +#Settings to enable sensors +#Device Orientation sensor +ro.qti.sensors.dev_ori=true +#Persistent Motion Detector +ro.qti.sensors.pmd=true +#Stationary Detector +ro.qti.sensors.sta_detect=true +#Motion Detector +ro.qti.sensors.mot_detect=true +#Facing +ro.qti.sensors.facing=false +#CMC +ro.qti.sensors.cmc=false +#Gesture +ro.qti.sdk.sensors.gestures=false + +#low power mode for camera +camera.lowpower.record.enable=1 + +#Expose aux camera for below packages +camera.aux.packagelist=org.codeaurora.snapcam + +# Create zram disk +ro.config.zram=true diff --git a/usf_post_boot.sh b/usf_post_boot.sh index 9a9d8af..9a9d8af 100644..100755 --- a/usf_post_boot.sh +++ b/usf_post_boot.sh diff --git a/usf_settings.sh b/usf_settings.sh index 8a47089..8a47089 100644..100755 --- a/usf_settings.sh +++ b/usf_settings.sh diff --git a/vold.fstab b/vold.fstab index 635e586..635e586 100644..100755 --- a/vold.fstab +++ b/vold.fstab diff --git a/whitelistedapps.xml b/whitelistedapps.xml new file mode 100755 index 0000000..3bdf820 --- /dev/null +++ b/whitelistedapps.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> + +<!-- +/* Copyright (c) 2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * 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. + */ +--> + +<AppCatalog> + <ResolutionOverrideApps> + + <!-- In AppAttributes, PackageName is must. + ActivityName and VersionCode are optional and can be used to + further restrict the whitelisting in terms of when and where to apply + + 1. <AppAttributes PackageName="com.imangi.templerun" /> + Straight forward whitelisting when activityTrigger is called with this PackageName + 2. <AppAttributes PackageName="com.imangi.templerun" + ActivityName="com.unity3d.player.UnityPlayerProxyActivity" /> + Updating ApplicationInfo to override the resolution is done when activityTrigger + is called with both the above PackageName and ActivityName + 3. <AppAttributes PackageName="com.imangi.templerun" + VersionCode="11" /> + Same as (1) but happens when app is of verionCode 11 + 4. <AppAttributes PackageName="com.imangi.templerun" + ActivityName="com.unity3d.player.UnityPlayerProxyActivity" + VersionCode="11" /> + Same as (2) but happens when app is of versionCode 11 + --> + + <AppAttributes + PackageName="com.imangi.templerun" + ActivityName="com.unity3d.player.UnityPlayerProxyActivity" /> + + <AppAttributes + PackageName="com.imangi.templerun2" + ActivityName="com.prime31.UnityPlayerProxyActivity" /> + + </ResolutionOverrideApps> + <GameTriggerApps> + </GameTriggerApps> + <AnimTriggerApps> + <AppAttributes + PackageName="com.tencent.mm" + ActivityName="com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI" + WindowAnimationScale = "0" + TransitionAnimationScale = "0" + AnimatorDurationScale = "0" /> + </AnimTriggerApps> + <NetTriggerApps> + <AppAttributes + PackageName="com.tencent.mm" /> + </NetTriggerApps> + <AppTriggerApps> + <AppAttributes PackageName="com.autonavi.xmgd.navigator" /> + <AppAttributes PackageName="com.tencent.qqpimsecure" /> + <AppAttributes PackageName="com.ludashi.benchmark" /> + </AppTriggerApps> +</AppCatalog> diff --git a/wifi_concurrency_cfg.txt b/wifi_concurrency_cfg.txt new file mode 100755 index 0000000..fa2764c --- /dev/null +++ b/wifi_concurrency_cfg.txt @@ -0,0 +1,3 @@ +ENABLE_STA_SAP_CONCURRENCY:1 +SAP_INTERFACE_NAME:softap0 +SAP_CHANNEL:6 diff --git a/wpa_supplicant_overlay.conf b/wpa_supplicant_overlay.conf index 58c2639..58c2639 100644..100755 --- a/wpa_supplicant_overlay.conf +++ b/wpa_supplicant_overlay.conf diff --git a/wpa_supplicant_wcn.conf b/wpa_supplicant_wcn.conf index 287954e..287954e 100644..100755 --- a/wpa_supplicant_wcn.conf +++ b/wpa_supplicant_wcn.conf |