100 Commits
udc ... bka

Author SHA1 Message Date
mukesh22584
95c338d3bc sm8250-common: Exclude AudioFX in favour of Dolby
Signed-off-by: mukesh22584 <mks22584@gmail.com>
2025-10-17 14:50:53 -04:00
mukesh22584
ef4ddc0cb2 sm8250-common: Fix libqtigef suffix 2025-10-17 14:50:53 -04:00
Omkar Chandorkar
d38aace4d0 sm8250-common: Introduce Dolby Atmos support
[inferno0230] Use dolby blobs from OnePlus 9RT

Co-authored-by: Sugakesshaa <sugakesshaa@gmail.com>
Signed-off-by: Omkar Chandorkar <gotenksIN@aospa.co>
Signed-off-by: Sugakesshaa <sugakesshaa@gmail.com>
Signed-off-by: inferno0230 <mail@inferno0230.in>
2025-10-17 14:50:53 -04:00
Sugakesshaa
13a19c1029 sm8250-common: Drop OplusDoze
* in favour of our custom multihal service and aosp lift to wake service

Signed-off-by: inferno0230 <mail@inferno0230.in>
2025-10-17 14:50:53 -04:00
Jake Weinstein
d048baa9ec sm8250: overlay: Only allow 5G SA on Jio 2025-10-17 14:50:53 -04:00
SGCMarkus
507447b08a sm8250-common: overlays: enable 5G SA and NSA
Change-Id: Icf55910aebae8d0ae519f0a0c20708aa81ae0bfc
2025-10-17 14:50:53 -04:00
Mashopy
e7cbcb09a5 [TMP] sm8250-common: Import /sys/kernel/oplus_display/* permissions from stock to fix:
10-19 14:30:14.505  1145  9785 E SDM     : DisplayBase::SetDisplayState: open /sys/kernel/oplus_display/power_status failed
2025-10-17 14:50:53 -04:00
Christos Athanasiadis
77f0f993d4 [TMP] sm8250-common: Unlock VoLTE and VoWIFI for more carriers 2025-10-17 14:50:53 -04:00
Manidweep
12ff56d97f sm8250-common: Initialize for Evolution X 11.x 2025-10-17 14:50:52 -04:00
ppanzenboeck
727be79238 move oos cam oplus-fwk libs to hardware/oplus [1/2] 2025-10-14 15:41:14 -04:00
ppanzenboeck
bf58cb8c74 props: remove ro.oplus.version.base to avoid oneplus camera crash 2025-10-14 15:41:14 -04:00
cjh1249131356
26dfbee92b sm8250-common: Add support for OnePlus Camera & Gallery
* Camera repo: https://bitbucket.org/nameless-aosp/vendor_oneplus_camera

Signed-off-by: cjh1249131356 <cjh1249131356@gmail.com>
2025-10-14 15:41:14 -04:00
LuK1337
53f10c5ee3 sm8250-common: Migrate to AIDL LiveDisplay HAL
Change-Id: I4e8be836e94d442b40c63a1ac7dade3c9d9c784c
2025-08-15 10:30:10 +02:00
LuK1337
ef5a017705 sm8250-common: Remove vendor/lineage device framework matrix inclusion
See: I78da6340f38b93fdc4c3694cb8f431f387d16c0d
Change-Id: I0b9f527de50ca02082be9b92375559f4893b2688
2025-08-09 11:14:11 +02:00
Nick Reuter
e06868d090 sm8250-common: Inherit oplus.config fragment
Change-Id: Id36cdaad05158bf10e25bdabc04582701222f88a
2025-07-28 14:59:26 +02:00
Luofan Chen
3584721c3d sm8250-common: Define TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE
Otherwise the error happens:

 E qdmetadata: Invalid gralloc handle (at 0x7fc743ec58): ver(12/12) ints(23/22) fds(2/2)
 E qdmetadata: validateAndMap: Private handle is invalid - handle:0x7fc743ec58

Change-Id: Ia62146e8e4bef1342dc964724bd0d088656ad4bc
2025-07-21 09:32:04 +02:00
Michael Bestas
c4a76c68fe sm8250-common: Migrate QTI power HAL to soong_config_set
Change-Id: Ib80c15ee523130011147d378f665592dae501ec2
2025-07-20 23:50:01 +00:00
basamaryan
b552195c60 sm8250-common: Update WFD system blobs from dada OS2.0.217.0.WOCMIXM
Change-Id: I95dfb07cae97f3c8716a7cb6d87a7081de986748
2025-07-20 18:57:26 +02:00
LuK1337
d257642d63 sm8250-common: CONFIG_IEEE80211AX -> WIFI_FEATURE_HOSTAPD_11AX
Test: Start hotspot, notice that it uses 11ax instead of 11ac.
Change-Id: Ie3c5fe9cfe39c28ba1df2be4e676954aca78f67a
2025-07-20 11:07:15 +02:00
LuK1337
e82d997ba1 sm8250-common: Move 64-bit libmmparser_lite.so to "Media" section
Change-Id: Ic2a08519a2d9e9299d419b56479fa82ffc7ea664
2025-07-12 00:57:15 +02:00
LuK1337
713e4b08d2 sm8250-common: apktool_patch() no longer takes custom arguments
Change-Id: Idf85ae2cd0505c34e55f0e6acec2afc085372b78
2025-07-06 12:55:55 +02:00
Grace Chen
129093ba28 sm8250-common: overlay: Config overlay to support 2 physical slots
Bug: 197989438
Test: Confirm sim configuration.
Change-Id: I3972e0456d8034517cc4224ef786a9292439a8b9
2025-07-01 11:46:21 +03:00
basamaryan
d5436228d0 sm8250-common: Drop legacy ANT remnants
QSSI only has platform/external/ant-wireless/hidl since a while

Change-Id: Ibccfdc7e72efd3c9d3ff62bda3e729b99433a567
2025-07-01 11:43:39 +03:00
Bruno Martins
b81aad23f3 sm8250-common: Switch to Touch AIDL
Change-Id: I92a19fedb9ea482616c2e3d550e30b69d2a3a5c7
2025-06-06 20:59:53 +00:00
LuK1337
a9608224f1 sm8250-common: Switch to NCM USB tethering
Change-Id: I20b6b2b2e26a45d8b28c7483afc83ad4da4b8643
2025-05-24 05:03:46 +00:00
Bruno Martins
c379e7bde6 sm8250-common: init: Remove USB overriding rules
USB gadget HAL takes the place of the init-based configfs rules
for setting USB compositions.

Change-Id: Icceafaf6cd761220b9b80a5311e067c272f123c7
2025-05-24 05:03:46 +00:00
Yumi Yukimura
09e36d0471 sm8250-common: Migrate to QTI USB Gadget AIDL HAL
Change-Id: I6adbca2fab9a3fe0477d17f9786166828b786710
2025-05-24 05:03:46 +00:00
Yumi Yukimura
34395ca553 sm8250-common: Move usage of USB MTP/PTP functionality with USB F_FS driver
* `vendor/qcom/opensource/usb/vendor_product.mk` enables it for
  kernel 4.9~4.19, and we're on kernel 4.19

Change-Id: I7bc8153b4016ab804d4e385ece5808f187a87886
2025-05-24 05:03:46 +00:00
Bruno Martins
5ff3ce6e11 sm8250-common: Set vendor init lib via soong config
Change-Id: I8f7e6b987bee58dbf09ca9ad7cfd5a7e99e19c3b
2025-04-30 00:08:02 +01:00
Bruno Martins
8fc6966e92 sm8250-common: Set UDFPS extension lib via soong config
Change-Id: I8a709bde4843b61420ea1003a749952d2619e2da
2025-04-30 00:07:30 +01:00
Bruno Martins
2445669e4d sm8250-common: Migrate Lineage Health to soong_config_set
Change-Id: I2eff39e83b9673aa2989d05de65c646241ba61da
2025-04-29 23:42:31 +01:00
Lorenzo Colitti
f5e172b514 sm8250-common: Delete dhcpcd init entries, since dhcpcd is no more.
Bug: 27192644
Change-Id: I1aa25190c07f027884421d91c1e93f214493382d
2025-04-23 15:54:44 +03:00
Ethan Chen
767360a89c sm8250-common: Remove wigig components
Change-Id: If730bffdf749f30ddf0dfeec8ce769848b19b17e
2025-04-23 15:54:44 +03:00
Alexander Koskovich
00594338a2 sm8250-common: Cleanup unused manifest entries
Change-Id: Ie7b8fd2ffea55f51a0be2ca2f7b8b380689a3474
2025-04-23 15:54:44 +03:00
David Sehr
a72e56d881 sm8250-common: Enable usage of dex2oat64
Use 64-bit dex2oat for better dexopt time.

Bug: 153380900
Test: boot and install an application
Change-Id: I3e7a6e6e9385ff6564d1a2e6dda004ebb061f095
(cherry picked from commit 126f03be80f57a8a0411842011152d9381589b78)
Merged-In: I3e7a6e6e9385ff6564d1a2e6dda004ebb061f095
2025-04-12 20:44:13 +02:00
LuK1337
b3667e5299 sm8250-common: libwfdservice_shim_v1 -> libwfdservice_shim
Change-Id: Idf65dd61a2de80dfcbf72a8b75b6ca59234df573
2025-04-05 22:20:52 +02:00
LuK1337
183ccfdfed sm8250-common: Add libwfdservice_shim_v1 for WFD
e69a5be2449122f90220151f9d01ace15221facf in system/hardware/interfaces
broke the ABI ;'(

Change-Id: I60691f2bab3f52fd9ade36ed6fcf6a2ef13a18c9
2025-04-04 08:50:25 +02:00
Georg Veichtlbauer
16ca085471 sm8250-common: Remove unneeded NFC packages
* NfcNci and SecureElement are built by handheld_system.mk

Change-Id: I83f686b67778634b584a58d8bae95d237e6dbad1
2025-03-12 08:15:11 +02:00
Michael Bestas
e4e009e631 sm8250-common: Enable ELF checks for libwpa_client dependent libs
Change-Id: I490df02b68da4b9a7088a239672a1dcace66d270
2025-03-11 16:17:31 +02:00
Yan Yan
94b4f55a5c sm8250-common: Add feature flag for IPSEC_TUNNEL_MIGRATION
This commit adds the IPSEC_TUNNEL_MIGRATION feature flag,
with XFRM_MIGRATE used as the implementation

Bug: 273379472
Test: build, flash and verify with "adb shell pm list features"
Test: atest IpSecManagerTunnelTest
Change-Id: Id2ee3e65183e32ea63f6251ba921e1e4c6b09ed0
2025-02-27 17:57:34 +00:00
Yumi Yukimura
7eb8b7650b sm8250-common: manifest: Bump target-level to 6
Change-Id: I8d419d248f29b7d316a87d55e19ae7ff141e19a5
2025-02-27 17:57:34 +00:00
Tyler Wear
ecfaa404ce sm8250-common: tetheroffload: Version 1.1
Update tetheroffload to version 1.1.

Change-Id: I004e44e416a88a1b39a4c80366df9008722f096b
2025-02-27 00:06:06 +00:00
Kumar Anurag Singh
2bb1162e57 sm8250-common: audio: Remove direct flag for VOIP RX
Remove direct flag for VOIP RX.

Change-Id: I9ee6f300b7a891afd1ad06c063424509d16d271e
2025-02-23 10:10:44 +01:00
Michael Bestas
8bb36c4be9 sm8250-common: Switch to audio_amplifier.qcom
Change-Id: Ice61834935fd7249d13dadff476bab0dda04df1d
2025-02-19 22:58:11 +00:00
LuK1337
aff26d4125 sm8250-common: Migrate to avbtool --set_verification_disabled_flag
Change-Id: Ib73f4d97a923b25e25848b24a3554cdd4de1a5ae
2025-02-17 23:09:24 +01:00
Michael Bestas
a2cd4cf8e3 sm8250-common: Don't use BSG framework for gpt-utils
Change-Id: Ia6e5d651560c8ae5186a48bfbb0e30b864150564
2025-02-10 21:06:34 +01:00
dianlujitao
691450b5b3 sm8250-common: move to aidl bootctrl hal
Change-Id: I50fd09148097f0cda03c1a105340a3fd5f55ce8d
2025-02-10 21:06:34 +01:00
Alexander Koskovich
f4ed38bf9b sm8250-common: Update to Boot Control HAL v1.2
Change-Id: Ib5d06c9b0c7e2ed000eb03a9bf18e4d78cc8740d
2025-02-10 21:06:34 +01:00
Bruno Martins
b00812faf7 sm8250-common: Use aidl sensors multihal
Change-Id: I21da3da39e9726dca693d6bcbe42e93be861f7c7
2025-02-10 21:06:34 +01:00
Etan Cohen
3eec758c43 sm8250-common: Declare WiFi Aware support to WiFi HAL
* The Wi-Fi Aware feature added in Android 8.0 enables
   supporting devices to discover, connect, and range
   (added in Android 9) to one another directly using
   the Wi-Fi Aware protocol without internet or cellular
   network access.

 * This feature, built upon the Wi-Fi Alliance (WFA) Wi-Fi
   Aware specification (versions 2.0 and 3.0), allows easy
   sharing of high-throughput data among trusted devices
   and apps that are otherwise off-network.

   https://source.android.com/devices/tech/connect/wifi-aware

Change-Id: I18ff20e7466b8e8fd598381b730fb7db391e9ad4
2025-02-08 12:46:49 +01:00
danascape
6d76c44831 sm8250-common: Drop atrace HAL
It is deprecated in Android 14.

Change-Id: I5af8056853058ad29be7debb5c5af5dea83d84a9
2025-01-30 23:34:05 +00:00
LuK1337
607c949ac7 sm8250-common: Move network scan overlay to OPlusSettingsResCommon
Change-Id: I5a5a8feea72a74ffaefd598d5e80bec92783d2ea
2025-01-30 17:44:40 +00:00
LuK1337
c3132f98be sm8250-common: Move WfdCommon boot jar declaration to vendor
Change-Id: I8fa2c0f64692873b432cc252ec88b388a32023a1
2025-01-18 18:53:17 +01:00
Michael Bestas
6f0d033647 sm8250-common: Migrate mount point creation out of Android.mk
Change-Id: Id5986b8a740e45f864eecdd2bd82d9455f128d6b
2025-01-13 14:31:04 +02:00
SamarV-121
c86bd2b8d1 sm8250-common: Remove obsolete debug.sf.disable_backpressure
* It has been removed in Android S
 * 2ec5391acf

Change-Id: I23a210a37ad257f0c8b7a3c5e1d59b2ac20cde9a
2025-01-08 06:09:20 +02:00
wenchangliu
3aa8a65193 sm8250-common: video: enbale adaptive b-frame capability
'enc_default_bframe_count' set to 1.
'enc_max_mbs_per_sec' set to max-hw-load.

Bug: 156724722
Test: run ECO experiments
Change-Id: I884be887e9ae71bb9f8778f8bd0f5dd728d1ba7e
2025-01-03 23:21:34 +02:00
wenchangliu
e10cce0989 sm8250-common: add "can-swap-width-height" for video codecs
[VSR-4.2-004.002] MUST support identical size ranges horizontally
as vertically (for example, support portrait videos of the same size
if they support a landscape video size.)

Bug: 322453106
Test: atest android.mediav2.cts.CodecInfoTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aa514b3779b94a7dc40dab302c84ab8ae97becfa)
Merged-In: I6918bc926964c8dd398d686ee3e7713d4f023ff2
Change-Id: I6918bc926964c8dd398d686ee3e7713d4f023ff2
2025-01-03 23:21:34 +02:00
dianlujitao
5dcb7332e9 sm8250-common: reduce HEIF max resolution
Over boundary data will cause HW overload issue.

Test: atest android.media.misc.cts.ResourceManagerMultiTest#testReclaimResource
Change-Id: I0e1d2ad2100effd1799107c34aaade1de6286c3d
2025-01-03 23:21:34 +02:00
dianlujitao
881fe45445 sm8250-common: adjust max concurrent-instances of qti c2 codec
Test: atest android.media.codec.cts.MediaCodecInstancesTest#testGetMaxSupportedInstances
Change-Id: I1728777e4adfe33bfb7094df1d4c403ad98b6510
2025-01-03 23:21:34 +02:00
Jerry Huang
e2c3167d7f sm8250-common: media: advertise ro.odm.build.media_performance_class as 30
Bug: 196881264
Test: adb shell getprop ro.odm.build.media_performance_class
Change-Id: I50e4e9bc4cfffa4109776218ae2c4d222b4348af
2025-01-03 23:21:34 +02:00
Pawin Vongmasa
d480c9dae1 sm8250-common: Move input surface to CCodec
Test: atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
Bug: 131800183
Change-Id: I8783a7de4a4fdf7ff2eac6697c71f6592c9a9e06
2025-01-03 23:21:34 +02:00
dianlujitao
bc25c5e603 sm8250-common: remove OMX
* OMX HW video codecs are no longer used after enabling Codec2
 * OMX HW audio codecs won't work without QCOM A/V enhancements, which
   we don't have on Lineage.

Change-Id: I65852151c8fb6387add5fc4402ba3f13c97b5f64
2025-01-03 23:21:34 +02:00
dianlujitao
9a4cb38547 sm8250-common: kang c2 codec config from NX659J
Change-Id: I506d0b1d91c03c3d2d3a9af8e59b86fdb1f65363
2025-01-03 04:18:53 +02:00
Michael Bestas
92829fc6b1 sm8250-common: Add QTI codec2 stack
Change-Id: Ie14c6fd49ee8602b36eeef75cb29e5b09222642d
2025-01-03 04:18:53 +02:00
Michael Bestas
d0f7349869 sm8250-common: Copy media_codecs_vendor to media_codecs
These are the right codecs to use for this device. The vendor codecs
file isn't picked up without qcom framework changes.

Change-Id: Ieecd2bfc14db2b396ca6257fdb2cd9361d9d7738
2025-01-03 04:18:53 +02:00
Michael Bestas
6e6de1ff18 sm8250-common: Drop odm/etc/media_codecs_c2.xml
It only includes media_codecs_c2_oplus_audio.xml which we don't have

Change-Id: Ie7442d9f30dfd258c34fc66dc3e5b937c33936a5
2025-01-03 04:18:53 +02:00
Michael Bestas
275ecba4ec sm8250-common: Remove media_codecs_google_c2*
AOSP codecs can be used by default and it is not necessary to include
them device side.

Change-Id: I8227b06f0466b614f12fa9008402b92461ea3dd0
2025-01-03 04:18:53 +02:00
Aaron Kling
9043bb2c13 sm8250-common: Remove software omx codec references
These are no longer available as of Android 14 QPR3. The C2 codecs
available by default in the swcodec apex will be used instead.

Change-Id: I8cdf3e700823779a7382c66c3df8410d41209b7c
2025-01-03 04:18:53 +02:00
Michael Bestas
6fc55e28c5 sm8250-common: Drop libvulkan target that is built by default
Change-Id: Ic5d73508b850fac7c7427caf12eb4a8e87e3deca
2025-01-03 04:18:53 +02:00
Michael Bestas
116892d803 sm8250-common: Don't build libtinyxml
Not used anywhere

Change-Id: I95d2296321b8f597fbf12bd3f57b4b2f512008f1
2025-01-03 04:18:53 +02:00
Michael Bestas
e4821b9ddd sm8250-common: Work around using prebuilt HWC
After enabling ELF checks and switching prebuilts to modules,
the init and vintf files are no longer automatically built.

Change-Id: I48fcab53a7c8128b18e1399d9afadcfd5c85b116
2025-01-03 04:18:53 +02:00
Michael Bestas
2c2afb8033 sm8250-common: Update display flags & packages
Required after display HAL blueprint conversion

Change-Id: Ifc4e10703d3424607b9dc8bcc8e417d1c88cc2f3
2025-01-01 19:09:42 +02:00
LuK1337
cda8e96495 sm8250-common: Drop MAKE_COPY_RULE & MODULE_SUFFIX from display libs
Reference: I800561a45de41e8f7f6150c1b156c84b430cee24
           I5429ecee3985e305290e312921725460ef195b83
Change-Id: Ic9666f9aebdc3ed69c93d72585af66d4b45504d4
2025-01-01 19:09:42 +02:00
LuK1337
72a481b215 sm8250-common: Update PowerOffAlarm sha1sum
apktool v2.9.3-1-e3f0be1e-SNAPSHOT produces slightly different files.

Change-Id: I368d1e87db9b4ee52ab14021127b0b79f51bf66c
2024-12-23 00:35:05 +01:00
Nick Reuter
6c287b5d2d sm8250-common: Address missing libbinder symbols in libwfdnative
_ZN7android6binder12atrace_beginEmPKc
_ZN7android6binder10atrace_endEm

Change-Id: I942d51721461dbbf9c8d0f2f32128529bb7480c3
2024-12-14 10:43:13 +01:00
Nick Reuter
3cf281633d sm8250-common: Bump libwfdservice to android.media.audio.common.types-V4
Change-Id: I81060d8c73430a9598c676e18dc04e31a2f31c0c
2024-12-14 10:43:13 +01:00
LuK1337
921647e69c sm8250-common: Enable elfchecks for arcsoft libs
Reference: I23190f0b83c9e28aa2624a7575544b0eaf5c83c8
Change-Id: I18b0b07bf3a435dd449106653e3ca458b4f07b69
2024-12-14 10:43:13 +01:00
LuK1337
e5b5f00ed0 sm8250-common: Enable elfchecks for libgpu_tonemapper/libgrallocutils
Reference: I11dec853d8cfaddb01ba96a2e76be38fe2d52073
Change-Id: I58f44f8486efff8ba26fe36860d890412f09316d
2024-12-10 19:35:56 +00:00
LuK1337
8f8953560b Revert "sm8250-common: Build 64-bit only libvndfwk_detect_jni.qti.vendor"
Before:
audio_hw_extn: spkr_prot_feature_init: Called with feature Enabled, vendor_enhanced_info 0x0

After:
audio_hw_extn: spkr_prot_feature_init: Called with feature Enabled, vendor_enhanced_info 0x3

This reverts commit ef9b4747f0.

Change-Id: Ie5c33eafc1e0be2eeda8e0a6bbbc3712e32986e9
2024-12-05 17:05:28 +01:00
LuK1337
7f9ee644e6 sm8250-common: Update from OOS 14.0.0.603(EX01)
Change-Id: I59bb9dae027723cfeecbcea065e1c96f763ff53a
2024-11-27 18:36:56 +01:00
LuK1337
18404578f4 Revert "sm8250-common: Extract sensors.ssc.so from OOS 14.0.0.602(EX01)"
They removed a mandatory sensor (free_fall) and now boot up takes a lot
more time.

This reverts commit 3177fb7f66.

Change-Id: Ie134aa08de5c138eb29f6387c951ee597ae59f11
2024-11-13 01:28:58 +01:00
LuK1337
9071aecc1d sm8250-common: Sync sensor configs with OOS 14.0.0.602(EX01)
Change-Id: I03ec88d2ee24aabb4d0b9914d1d82ded67bac0ef
2024-11-13 01:08:52 +01:00
LuK1337
3177fb7f66 sm8250-common: Extract sensors.ssc.so from OOS 14.0.0.602(EX01)
Surprisingly, current signature still works properly with it.

Change-Id: I065ab414d6341d13cea548aa18b3609d56abcdeb
2024-11-12 23:57:40 +01:00
Bruno Martins
44b233e146 sm8250-common: Declare WFD lib as symlink during extraction
Change-Id: I83e3ec03e1ddc58f3a7df008789b1e31584946e1
2024-11-12 15:00:12 +01:00
PRANAY BHARGAV BHAVARAJU
fe24a33eb3 sm8250-common: avoid setting permission for /dev/hw_random
Below patch from system/core is setting required access policy
for /dev/hw_random. And CTS test is updated accordingly

https://android-review.googlesource.com/c/platform/system/core/+/2229337
https://android-review.googlesource.com/c/platform/cts/+/2232052

Change-Id: I762dfa3b1e84dee6c49fc178b5b75cf1c134cfb7
2024-11-12 15:00:03 +01:00
LuK1337
626b8b9033 sm8250-common: Unpin QTI camera postproc and libpwirissoft
Change-Id: I376cfa8b0ab91814a0b602d68e333164ff90c891
2024-11-09 19:27:53 +01:00
LuK1337
ca59f215bb sm8250-common: Update from OOS 14.0.0.602(EX01)
Change-Id: I238b675634e6411bfe474ae1beff903936a091b2
2024-11-09 19:27:53 +01:00
LuK1337
6b0c3be089 sm8250-common: Use common lib_fixups
Change-Id: I862e547f3375184729eb1a909bb7d6f676d45dfe
2024-11-06 12:10:03 +01:00
Michael Bestas
3ec37df46d sm8250-common: ELF checks are enabled by default
Change-Id: I5740f4c8d359831b4cb794912c5d650f55c33f17
2024-11-05 23:19:11 +02:00
dianlujitao
edc071b759 sm8250-common: Nuke ATFWD
It's normally not used at all.

Change-Id: Idb824b3b8c783b6ac962e604df05f9154beb4ed2
2024-11-01 20:25:26 +01:00
LuK1337
ef9b4747f0 sm8250-common: Build 64-bit only libvndfwk_detect_jni.qti.vendor
symlink_target: "/vendor/lib64/libvndfwk_detect_jni.qti.so".

Change-Id: I651706330ff88bda8920ec0a8670ebe1a434acac
2024-10-26 08:37:17 +02:00
Cosmin Tanislav
84a7fd0b15 sm8250-common: Do not manually build dependencies
Change-Id: I4046d8eeabfc70842898b7034f75cdd6bcfc441b
2024-10-25 19:46:05 +02:00
LuK1337
3dc5d10e37 sm8250-common: Declare adsp_avs_config.acdb symlink during extraction
Change-Id: I5a328db61cbd83fe292522b90f21b85e94986381
2024-10-24 21:46:02 +02:00
LuK1337
12aa45b0bb sm8250-common: Make PowerOffAlarm.apk patch reverse apply properly
Change-Id: Ib7bf341b3fe9b4a0035e354632b83ab5592c8f9a
2024-10-20 17:22:36 +02:00
LuK1337
e80a506fd6 sm8250-common: Setup ELF checks
Change-Id: I89154af89a7be70fa3702ac3a74adf8bd087b6ef
2024-10-19 19:19:54 +02:00
LuK1337
9cd9e8660c sm8250-common: Fix DT_SONAME for some camera libs
Change-Id: I15547a8e7d02838afb4eb24a1663ac9e381307f3
2024-10-19 19:19:24 +02:00
LuK1337
1f2a4de019 sm8250-common: Shim WFD with libgui_shim/libinput_shim
Change-Id: I42bf06bc6b19942303031ef0147dafa6df127fe5
2024-10-19 19:18:49 +02:00
Michael Bestas
aedd285517 sm8250-common: Shim widevine with libcrypto_shim
The following change
e202e51cb0
removed symbols that our libs require.

Change-Id: I1325c34ecec3d339dd68c665010ecb36fa2e6a29
2024-10-19 19:17:49 +02:00
LuK1337
cc2f3350cd sm8250-common: Switch to py extract utils
Change-Id: Ia13b728464495ff208ca1a706847b11af5c93ae8
2024-10-19 19:07:10 +02:00
Michael Bestas
7bfae23e4f sm8250-common: Switch to AIDL USB HAL
Change-Id: I70f6a4e57eef577d86987bfae44f381a4f107624
2024-10-19 19:02:07 +02:00
44 changed files with 1529 additions and 2473 deletions

View File

@@ -1,40 +0,0 @@
#
# Copyright (C) 2018-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifneq ($(filter instantnoodle instantnoodlep kebab lemonades,$(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
# A/B builds require us to create the mount points at compile time.
# Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
ACDBDATA_SYMLINKS := $(TARGET_OUT_ODM)/etc/acdbdata
$(ACDBDATA_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating acdbdata symlinks: $@"
@mkdir -p $@
$(hide) ln -sf /vendor/etc/acdbdata/adsp_avs_config.acdb $@/adsp_avs_config.acdb
ALL_DEFAULT_INSTALLED_MODULES += $(ACDBDATA_SYMLINKS)
endif

View File

@@ -4,11 +4,10 @@
# SPDX-License-Identifier: Apache-2.0
#
COMMON_PATH := device/oneplus/sm8250-common
BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
COMMON_PATH := device/oneplus/sm8250-common
# A/B
AB_OTA_UPDATER := true
@@ -24,9 +23,6 @@ AB_OTA_PARTITIONS += \
vbmeta_system \
vendor
# ANT+
BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@@ -57,41 +53,28 @@ BOARD_USES_ALSA_AUDIO := true
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := kona
# Display
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
# Camera
$(call soong_config_set,camera,override_format_from_reserved,true)
TARGET_USES_OPLUS_CAMERA := true
# Properties
TARGET_ODM_PROP += $(COMMON_PATH)/odm.prop
TARGET_PRODUCT_PROP += $(COMMON_PATH)/product.prop
TARGET_SYSTEM_EXT_PROP += $(COMMON_PATH)/system_ext.prop
TARGET_VENDOR_PROP += $(COMMON_PATH)/vendor.prop
# Display
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_DRM_PP := true
TARGET_USES_GRALLOC1 := true
TARGET_USES_GRALLOC4 := true
TARGET_USES_HWC2 := true
TARGET_USES_ION := true
TARGET_USES_QCOM_DISPLAY_BSP := true
TARGET_USES_QTI_MAPPER_2_0 := true
TARGET_USES_QTI_MAPPER_EXTENSIONS_1_1 := true
# Filesystem
TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/config.fs
# Fingerprint
TARGET_SURFACEFLINGER_UDFPS_LIB := //hardware/oplus:libudfps_extension.oplus
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
hardware/oplus/vintf/device_framework_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_MANIFEST_FILE := $(COMMON_PATH)/manifest.xml
ODM_MANIFEST_FILES := $(COMMON_PATH)/manifest_odm.xml
# Init
TARGET_INIT_VENDOR_LIB := //$(COMMON_PATH):libinit_oplus
# Kernel
BOARD_BOOT_HEADER_VERSION := 2
@@ -114,10 +97,10 @@ BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_RAMDISK_USE_LZ4 := true
TARGET_KERNEL_ADDITIONAL_FLAGS := BRAND_SHOW_FLAG=oneplus
TARGET_KERNEL_SOURCE := kernel/oneplus/sm8250
TARGET_KERNEL_CONFIG := vendor/kona-perf_defconfig vendor/debugfs.config
TARGET_KERNEL_CONFIG := vendor/kona-perf_defconfig vendor/debugfs.config vendor/oplus.config
# Lineage Health
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/oplus_chg/battery/mmi_charging_enable
# Media
TARGET_USES_ION := true
# Platform
BOARD_USES_QCOM_HARDWARE := true
@@ -145,9 +128,6 @@ TARGET_COPY_OUT_PRODUCT := product
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
TARGET_COPY_OUT_VENDOR := vendor
# Power
TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
# Recovery
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_INCLUDE_RECOVERY_DTBO := true
@@ -159,7 +139,7 @@ TARGET_USERIMAGES_USE_F2FS := true
ENABLE_VENDOR_RIL_SERVICE := true
# Security
VENDOR_SECURITY_PATCH := 2024-06-05
VENDOR_SECURITY_PATCH := 2024-10-05
# SEPolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk
@@ -168,7 +148,7 @@ include hardware/oplus/sepolicy/qti/SEPolicy.mk
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_verification_disabled_flag
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
@@ -182,10 +162,11 @@ BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := $(BOARD_HOSTAPD_DRIVER)
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB)
BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
CONFIG_IEEE80211AX := true
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF"
WIFI_DRIVER_STATE_ON := "ON"
WIFI_FEATURE_HOSTAPD_11AX := true
WIFI_HIDL_FEATURE_AWARE := true
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X

162
audio/audio_effects.xml Normal file
View File

@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* Changes from Qualcomm Innovation Center are provided under the following license:
*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. -->
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
<library name="volume_listener" path="libvolumelistener.so"/>
<library name="audiosphere" path="libasphere.so"/>
<library name="quasar" path="libquasar.so"/>
<!-- DOLBY START -->
<library name="dap_sw" path="libswdap_v3_6.so"/>
<library name="dap_hw" path="libhwdap_v3_6.so"/>
<library name="vqe" path="libswvqe_v3_6.so"/>
<!-- DOLBY END -->
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
<effect name="music_helper" library="volume_listener" uuid="08b8b058-0590-11e5-ac71-0025b32654a0"/>
<effect name="ring_helper" library="volume_listener" uuid="0956df94-0590-11e5-bdbe-0025b32654a0"/>
<effect name="alarm_helper" library="volume_listener" uuid="09f303e2-0590-11e5-8fdb-0025b32654a0"/>
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
<effect name="quasar" library="quasar" uuid="71d0e2ee-e44d-483d-a809-09e75ee55ecd"/>
<!-- DOLBY START -->
<effectProxy name="dap" library="proxy" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa">
<libsw library="dap_sw" uuid="6ab06da4-c516-4611-8166-452799218539"/>
<libhw library="dap_hw" uuid="a0c30891-8246-4aef-b8ad-d53e26da0253"/>
</effectProxy>
<effect name="vqe" library="vqe" uuid="64a0f614-7fa4-48b8-b081-d59dc954616f"/>
<!-- DOLBY END -->
</effects>
<postprocess>
<!--stream type="music">
<apply effect="music_helper"/>
</stream-->
<!--stream type="ring">
<apply effect="ring_helper"/>
</stream-->
<!--stream type="alarm">
<apply effect="alarm_helper"/>
</stream-->
<stream type="voice_call">
<apply effect="voice_helper"/>
</stream>
<!--stream type="notification">
<apply effect="notification_helper"/>
</stream-->
</postprocess>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

View File

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

View File

@@ -181,7 +181,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>

View File

@@ -181,7 +181,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>

View File

@@ -20,46 +20,43 @@
\ No newline at end of file
--- a/res/values-ar-rXB/strings.xml
+++ b/res/values-ar-rXB/strings.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
@@ -2,4 +2,5 @@
<resources>
<string name="app_name">PowerOffAlarm</string>
+ <string name="permdesc_power_off_alarm">set and clear the alarm which will wake up device from the power off state</string>
<string name="permlab_power_off_alarm">Power Off Alarm</string>
+ <string name="permdesc_power_off_alarm">set and clear the alarm which will wake up device from the power off state</string>
</resources>
--- a/res/values-en-rXA/strings.xml
+++ b/res/values-en-rXA/strings.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
@@ -2,4 +2,5 @@
<resources>
<string name="app_name">[ÞöŵéŕÖƒƒÅļåŕḿ one two]</string>
+ <string name="permdesc_power_off_alarm">[šéţ åñð çļéåŕ ţĥé åļåŕḿ ŵĥîçĥ ŵîļļ ŵåķé ûþ ðéVîçé ƒŕöḿ ţĥé þöŵéŕ öƒƒ šţåţé one two three four five six seven eight]</string>
<string name="permlab_power_off_alarm">[Þöŵéŕ Öƒƒ Åļåŕḿ one two three]</string>
+ <string name="permdesc_power_off_alarm">[šéţ åñð çļéåŕ ţĥé åļåŕḿ ŵĥîçĥ ŵîļļ ŵåķé ûþ ðéVîçé ƒŕöḿ ţĥé þöŵéŕ öƒƒ šţåţé one two three four five six seven eight]</string>
</resources>
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
@@ -2,4 +2,5 @@
<resources>
<string name="app_name">关机闹钟</string>
+ <string name="permdesc_power_off_alarm">设置和清除关机闹钟时间(关机 闹钟可以唤醒在关机状态下的手机)</string>
<string name="permlab_power_off_alarm">关机闹钟</string>
+ <string name="permdesc_power_off_alarm">设置和清除关机闹钟时间(关机 闹钟可以唤醒在关机状态下的手机)</string>
</resources>
--- a/res/values/public.xml
+++ b/res/values/public.xml
@@ -2,4 +2,5 @@
@@ -2,4 +2,6 @@
<resources>
<public type="string" name="app_name" id="0x7f010000" />
<public type="string" name="permlab_power_off_alarm" id="0x7f010001" />
+ <public type="string" name="permdesc_power_off_alarm" id="0x7f010002" />
+ <public type="drawable" name="permic_power_off_alarm" id="0x7f020000" />
</resources>
\ No newline at end of file
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
@@ -2,4 +2,5 @@
<resources>
<string name="app_name">PowerOffAlarm</string>
+ <string name="permdesc_power_off_alarm">set and clear the alarm which will wake up device from the power off state</string>
<string name="permlab_power_off_alarm">Power Off Alarm</string>
+ <string name="permdesc_power_off_alarm">set and clear the alarm which will wake up device from the power off state</string>
</resources>

View File

@@ -0,0 +1,11 @@
--- a/manifest_oplus_fingerprint.xml
+++ b/manifest_oplus_fingerprint.xml
@@ -14,7 +14,7 @@
*************************************************************/
-->
<manifest version="1.0" type="device">
- <hal format="hidl">
+ <hal override="true" format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<version>2.3</version>

204
common.mk
View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2018 The LineageOS Project
# Copyright (C) 2018-2025 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -24,20 +24,11 @@ PRODUCT_PACKAGES += \
checkpoint_gc \
otapreopt_script
# ANT+
PRODUCT_PACKAGES += \
AntHalService-Soong \
com.dsi.ant@1.0.vendor
# Alert slider
PRODUCT_PACKAGES += \
KeyHandler \
tri-state-key-calibrate
# Atrace
PRODUCT_PACKAGES += \
android.hardware.atrace@1.0-service
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@6.0-impl \
@@ -49,7 +40,7 @@ PRODUCT_PACKAGES += \
audio.primary.kona \
audio.r_submix.default \
audio.usb.default \
audio_amplifier.kona \
audio_amplifier.qcom \
liba2dpoffload \
libbatterylistener \
libcomprcapture \
@@ -66,8 +57,10 @@ PRODUCT_PACKAGES += \
AUDIO_HAL_DIR := hardware/qcom-caf/sm8250/audio
TARGET_EXCLUDES_AUDIOFX := true
PRODUCT_COPY_FILES += \
$(AUDIO_HAL_DIR)/configs/kona/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(AUDIO_HAL_DIR)/configs/kona/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
$(AUDIO_HAL_DIR)/configs/kona/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
$(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
@@ -87,17 +80,7 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
# Authsecret
PRODUCT_PACKAGES += \
android.hardware.authsecret@1.0.vendor
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.0.vendor \
vendor.qti.hardware.bluetooth_audio@2.1.vendor \
vendor.qti.hardware.btconfigstore@1.0.vendor \
vendor.qti.hardware.btconfigstore@2.0.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
@@ -107,15 +90,18 @@ BOARD_SHIPPING_API_LEVEL := 30
# Boot control
PRODUCT_PACKAGES += \
android.hardware.boot@1.1-impl-qti \
android.hardware.boot@1.1-impl-qti.recovery \
android.hardware.boot@1.1-service
android.hardware.boot-service.qti \
android.hardware.boot-service.qti.recovery
$(call soong_config_set,QTI_GPT_UTILS,USE_BSG_FRAMEWORK,false)
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.4-impl \
android.hardware.camera.provider@2.4-service_64 \
libcamera_metadata_shim \
libcamera2ndk_vendor \
libstdc++_vendor \
vendor.qti.hardware.camera.postproc@1.0.vendor
PRODUCT_COPY_FILES += \
@@ -138,38 +124,19 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
gralloc.kona \
libdisplayconfig.qti \
libdisplayconfig.system.qti \
libqdMetaData \
libqdMetaData.system \
libsdmcore \
libsdmutils \
libtinyxml \
libutilscallstack.vendor \
libvulkan \
vendor.display.config@1.9.vendor \
vendor.display.config@2.0 \
vendor.display.config@2.0.vendor \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.composer-service \
vendor.qti.hardware.display.config-V5-ndk \
vendor.qti.hardware.display.mapper@1.1.vendor \
vendor.qti.hardware.display.mapper@2.0.vendor \
vendor.qti.hardware.display.mapper@3.0.vendor \
vendor.qti.hardware.display.mapper@4.0.vendor \
vendor.qti.hardware.display.composer-service.rc \
vendor.qti.hardware.display.composer-service.xml \
vendor.qti.hardware.memtrack-service
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
# Doze
PRODUCT_PACKAGES += \
OplusDoze
# Dolby
$(call inherit-product, hardware/oplus/dolby/dolby.mk)
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm@1.3.vendor \
android.hardware.drm-service.clearkey \
wvmkiller
@@ -180,22 +147,14 @@ PRODUCT_PACKAGES += \
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.oplus \
libshims_fingerprint.oplus
android.hardware.biometrics.fingerprint@2.3-service.oplus
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0.vendor
$(call soong_config_set,surfaceflinger,udfps_lib,//hardware/oplus:libudfps_extension.oplus)
# GPS
PRODUCT_PACKAGES += \
android.hardware.gnss.measurement_corrections@1.1.vendor \
android.hardware.gnss.visibility_control@1.0.vendor \
android.hardware.gnss@2.1.vendor
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/gps.conf:$(TARGET_COPY_OUT_ODM)/etc/gps.conf
@@ -213,15 +172,9 @@ PRODUCT_COPY_FILES += \
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1.vendor \
android.hardware.health-service.qti \
android.hardware.health-service.qti_recovery
# HIDL
PRODUCT_PACKAGES += \
libhidltransport.vendor \
libhwbinder.vendor
# Hotword enrollment
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
@@ -245,55 +198,36 @@ PRODUCT_PACKAGES += \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.qti.media.sh \
init.target.rc \
ueventd.oplus.rc \
ueventd.qcom.rc
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.1.vendor
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):libinit_oplus)
# Lineage Health
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/oplus_chg/battery/mmi_charging_enable)
# LiveDisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.oplus
vendor.lineage.livedisplay-service.oplus
# Media
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/media/media_codecs_kona.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_kona.xml \
$(LOCAL_PATH)/media/media_codecs_kona_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_kona_vendor.xml \
$(LOCAL_PATH)/media/media_codecs_performance_kona.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_kona.xml \
$(LOCAL_PATH)/media/media_codecs_performance_kona_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_kona_vendor.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
PRODUCT_PACKAGES += \
libavservices_minijail \
libavservices_minijail.vendor
# Net
PRODUCT_PACKAGES += \
android.system.net.netd@1.1.vendor
# Neural networks
PRODUCT_PACKAGES += \
android.hardware.neuralnetworks@1.3.vendor
$(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
$(LOCAL_PATH)/media/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml \
$(LOCAL_PATH)/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
$(LOCAL_PATH)/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
$(LOCAL_PATH)/media/media_codecs_performance_kona_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_kona.xml \
$(LOCAL_PATH)/media/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/video_system_specs.json
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc-service.nxp \
android.hardware.secure_element@1.2.vendor \
com.android.nfc_extras \
NfcNci \
Tag
PRODUCT_COPY_FILES += \
@@ -306,71 +240,46 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml
# OMX
PRODUCT_PACKAGES += \
init.qti.media.sh \
libOmxAacEnc \
libOmxAmrEnc \
libOmxCore \
libOmxEvrcEnc \
libOmxG711Enc \
libOmxQcelp13Enc \
libOmxVdec \
libOmxVenc \
libstagefrighthw
# Overlays
$(call inherit-product, hardware/oplus/overlay/generic/generic.mk)
$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk)
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay-lineage
$(LOCAL_PATH)/overlay-lineage \
$(LOCAL_PATH)/overlay-evolution
PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_PACKAGES += \
CarrierConfigResCommon \
FrameworksResTarget \
NcmTetheringOverlay \
OPlusFrameworksResCommon \
OPlusSettingsResCommon \
OPlusSystemUIResCommon \
WifiResTarget
# Partitions
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service-qti \
android.hardware.power@1.2.vendor \
vendor.qti.hardware.perf@2.2.vendor
android.hardware.power-service-qti
# QMI
$(call soong_config_set,qtipower,tap_to_wake_node,/proc/touchpanel/double_tap_enable)
# QTI fwk-detect
PRODUCT_PACKAGES += \
libcurl.vendor:64 \
libjson \
libjsoncpp.vendor \
libqti_vndfwk_detect.vendor \
libsqlite.vendor:64 \
libvndfwk_detect_jni.qti.vendor
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.5.vendor \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor \
libprotobuf-cpp-full-3.9.1-vendorcompat \
libprotobuf-cpp-lite-3.9.1-vendorcompat \
librmnetctl
# Seccomp policy
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/seccomp/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
libvndfwk_detect_jni.qti.vendor # Needed by CNE app
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@2.0-service.multihal \
libdumpstateutil.vendor:64 \
libsensorndkbridge \
android.hardware.sensors-service.oplus-multihal \
sensors.oplus
PRODUCT_COPY_FILES += \
@@ -423,7 +332,10 @@ $(call inherit-product, hardware/oplus/oplus-fwk/oplus-fwk.mk)
# Touch
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.oplus
vendor.lineage.touch-service.oplus
# UDFPS
TARGET_HAS_UDFPS := true
# Update engine
PRODUCT_PACKAGES += \
@@ -436,7 +348,9 @@ PRODUCT_PACKAGES_DEBUG += \
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.3-service-qti
android.hardware.usb-service.qti \
android.hardware.usb.gadget-service.qti \
oplus_usb_compositions.conf
PRODUCT_SOONG_NAMESPACES += \
vendor/qcom/opensource/usb/etc
@@ -467,33 +381,27 @@ PRODUCT_USE_PRODUCT_VNDK_OVERRIDE := true
PRODUCT_PACKAGES += \
android.hardware.wifi-service \
hostapd \
libwpa_client \
libwifi-hal-ctrl \
libwifi-hal-qcom \
vendor.qti.hardware.wifi.hostapd@1.2.vendor \
vendor.qti.hardware.wifi.supplicant@2.1.vendor \
wpa_supplicant \
wpa_supplicant.conf
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml
# WiFi Display
PRODUCT_PACKAGES += \
libnl \
libpng.vendor:32 \
libwfdaac_vendor
PRODUCT_BOOT_JARS += \
WfdCommon
# WiFi firmware symlinks
PRODUCT_PACKAGES += \
firmware_wlan_mac.bin_symlink \
firmware_WCNSS_qcom_cfg.ini_symlink
# Inherit from the OnePlus Camera makefile.
$(call inherit-product, vendor/oneplus/camera/camera-vendor.mk)
# Inherit from the proprietary files makefile.
$(call inherit-product, vendor/oneplus/sm8250-common/sm8250-common-vendor.mk)

23
evolution.dependencies Normal file
View File

@@ -0,0 +1,23 @@
[
{
"repository": "hardware_oplus",
"branch": "bka",
"target_path": "hardware/oplus"
},
{
"repository": "kernel_oneplus_sm8250",
"branch": "bka",
"target_path": "kernel/oneplus/sm8250"
},
{
"repository": "vendor_oneplus_sm8250-common",
"branch": "bka",
"target_path": "vendor/oneplus/sm8250-common"
},
{
"remote": "bitbucket",
"branch": "fifteen",
"repository": "nameless-aosp/vendor_oneplus_camera",
"target_path": "vendor/oneplus/camera"
}
]

141
extract-files.py Executable file
View File

@@ -0,0 +1,141 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
BlobFixupCtx,
File,
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
from extract_utils.tools import (
llvm_objdump_path,
)
from extract_utils.utils import (
run_cmd,
)
namespace_imports = [
'device/oneplus/sm8250-common',
'hardware/oplus',
'hardware/qcom-caf/sm8250',
'hardware/qcom-caf/wlan',
'vendor/qcom/opensource/commonsys-intf/display',
'vendor/qcom/opensource/commonsys/display',
'vendor/qcom/opensource/dataservices',
'vendor/qcom/opensource/display',
]
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
return f'{lib}_vendor' if partition in ['odm', 'vendor'] else None
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
(
'com.qti.stats.pdlib',
'com.qualcomm.qti.dpm.api@1.0',
'libmmosal',
'vendor.qti.hardware.wifidisplaysession@1.0',
'vendor.qti.imsrtpservice@3.0',
): lib_fixup_vendor_suffix,
}
def blob_fixup_nop_call(
ctx: BlobFixupCtx,
file: File,
file_path: str,
call_instruction: str,
disassemble_symbol: str,
symbol: str,
*args,
**kwargs,
):
for line in run_cmd(
[
llvm_objdump_path,
f'--disassemble-symbols={disassemble_symbol}',
file_path,
]
).splitlines():
line = line.split(maxsplit=3)
if len(line) != 4:
continue
offset, _, instruction, args = line
if instruction != call_instruction:
continue
if not args.endswith(f' <{symbol}>'):
continue
with open(file_path, 'rb+') as f:
f.seek(int(offset[:-1], 16))
f.write(b'\x1f\x20\x03\xd5') # AArch64 NOP
break
blob_fixups: blob_fixups_user_type = {
'odm/bin/hw/vendor.oplus.hardware.biometrics.fingerprint@2.1-service': blob_fixup()
.add_needed('libshims_fingerprint.oplus.so'),
'odm/etc/vintf/manifest/manifest_oplus_fingerprint.xml': blob_fixup()
.patch_file('blob-patches/manifest_oplus_fingerprint.patch'),
('odm/lib64/mediadrm/libwvdrmengine.so', 'odm/lib64/libwvhidl.so'): blob_fixup()
.add_needed('libcrypto_shim.so'),
'odm/lib64/libpwirissoft.so': blob_fixup()
.call(blob_fixup_nop_call, 'bl', '_ZN4pxlw18qcomSetDisplayModeEPvii', '_ZN4pxlw15irisSetConfigExEiiPKi@plt'),
'product/app/PowerOffAlarm/PowerOffAlarm.apk': blob_fixup()
.apktool_patch('blob-patches/PowerOffAlarm.patch'),
('odm/etc/libdlbdsservice_v3_6_etc.so', 'odm/etc/libstagefright_soft_ddpdec_etc.so', 'odm/etc/libstagefrightdolby_etc.so', 'odm/lib64/libdlbdsservice_v3_6.so'): blob_fixup()
.replace_needed('libstagefright_foundation.so', 'libstagefright_foundation-v33.so'),
'product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml': blob_fixup()
.regex_replace('/my_product', '/product'),
'vendor/etc/libnfc-nci.conf': blob_fixup()
.regex_replace('NFC_DEBUG_ENABLED=1', 'NFC_DEBUG_ENABLED=0'),
'vendor/etc/libnfc-nxp.conf': blob_fixup()
.regex_replace('(NXPLOG_.*_LOGLEVEL)=0x03', '\\1=0x02')
.regex_replace('NFC_DEBUG_ENABLED=1', 'NFC_DEBUG_ENABLED=0'),
'vendor/etc/msm_irqbalance.conf': blob_fixup()
.regex_replace('IGNORED_IRQ=27,23,38$', 'IGNORED_IRQ=27,23,38,115,332'),
'vendor/lib64/hw/com.qti.chi.override.so': blob_fixup()
.add_needed('libcamera_metadata_shim.so')
.binary_regex_replace(b'com.oem.autotest', b'\x00om.oem.autotest'),
('vendor/lib64/libarcsoft_hta.so', 'vendor/lib64/libarcsoft_superportrait.so', 'vendor/lib64/libarcsoft_hdrplus_hvx_stub.so', 'vendor/lib64/libarcsoft_high_dynamic_range_v4.so', 'vendor/lib64/libarcsoft_mfsr_frt.so', 'vendor/lib64/libarcsoft_super_night_raw.so', 'vendor/lib64/libarcsoft_dualcam_refocus_preview.so'): blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_register_buf_attr')
.clear_symbol_version('remote_register_buf'),
'vendor/lib64/sensors.ssc.so': blob_fixup()
.binary_regex_replace(b'qti.sensor.wise_light', b'android.sensor.light\x00')
.sig_replace('F1 E9 D3 84 52 49 3F A0 72', 'F1 A9 00 80 52 09 00 A0 72'),
'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
.call(blob_fixup_nop_call, 'bl', '__cfi_check', '_ZN7android8hardware22configureRpcThreadpoolEmb@plt'),
} # fmt: skip
module = ExtractUtilsModule(
'sm8250-common',
'oneplus',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

View File

@@ -1,7 +1,8 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -13,10 +14,6 @@ if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
# If XML files don't have comments before the XML header, use this flag
# Can still be used with broken XML files by using blob_fixup
export TARGET_DISABLE_XML_FIXING=true
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
@@ -35,29 +32,28 @@ SECTION=
while [ "${#}" -gt 0 ]; do
case "${1}" in
--only-common)
ONLY_COMMON=true
;;
--only-firmware)
ONLY_FIRMWARE=true
;;
--only-target)
ONLY_TARGET=true
;;
-n | --no-cleanup)
CLEAN_VENDOR=false
;;
-k | --kang)
KANG="--kang"
;;
-s | --section)
SECTION="${2}"
shift
CLEAN_VENDOR=false
;;
*)
SRC="${1}"
;;
--only-common )
ONLY_COMMON=true
;;
--only-firmware )
ONLY_FIRMWARE=true
;;
--only-target )
ONLY_TARGET=true
;;
-n | --no-cleanup )
CLEAN_VENDOR=false
;;
-k | --kang )
KANG="--kang"
;;
-s | --section )
SECTION="${2}"; shift
CLEAN_VENDOR=false
;;
* )
SRC="${1}"
;;
esac
shift
done
@@ -69,74 +65,51 @@ fi
function blob_fixup() {
case "${1}" in
odm/bin/hw/vendor.oplus.hardware.biometrics.fingerprint@2.1-service)
[ "$2" = "" ] && return 0
grep -q libshims_fingerprint.oplus.so "${2}" || "${PATCHELF}" --add-needed libshims_fingerprint.oplus.so "${2}"
;;
odm/etc/init/wlchgmonitor.rc)
[ "$2" = "" ] && return 0
sed -i "/disabled/d;/seclabel/d" "${2}"
;;
odm/etc/vintf/manifest/manifest_oplus_fingerprint.xml)
[ "$2" = "" ] && return 0
sed -ni "/android.hardware.biometrics.fingerprint/{x;s/hal format/hal override=\"true\" format/;x};x;1!p;\${x;p}" "${2}"
;;
odm/lib64/libpwirissoft.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "72 1F 00 94" -P "1F 20 03 D5" -f "${2}"
;;
product/app/PowerOffAlarm/PowerOffAlarm.apk)
[ "$2" = "" ] && return 0
apktool_patch "${2}" "${MY_DIR}/blob-patches/PowerOffAlarm.patch" -s
;;
product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml)
[ "$2" = "" ] && return 0
sed -i "s/\/my_product/\/product/" "${2}"
;;
system_ext/lib/libwfdservice.so)
[ "$2" = "" ] && return 0
sed -i "s/android.media.audio.common.types-V2-cpp.so/android.media.audio.common.types-V3-cpp.so/" "${2}"
;;
system_ext/lib64/libwfdnative.so)
[ "$2" = "" ] && return 0
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" "${2}"
;;
vendor/etc/libnfc-nci.conf)
[ "$2" = "" ] && return 0
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
;;
vendor/etc/libnfc-nxp.conf)
[ "$2" = "" ] && return 0
sed -i "/NXPLOG_\w\+_LOGLEVEL/ s/0x03/0x02/" "${2}"
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
;;
vendor/etc/msm_irqbalance.conf)
[ "$2" = "" ] && return 0
sed -i "s/IGNORED_IRQ=27,23,38$/&,115,332/" "${2}"
;;
vendor/lib64/hw/com.qti.chi.override.so)
[ "$2" = "" ] && return 0
grep -q libcamera_metadata_shim.so "${2}" || "${PATCHELF}" --add-needed libcamera_metadata_shim.so "${2}"
sed -i "s/com.oem.autotest/\x00om.oem.autotest/" "${2}"
;;
vendor/lib64/sensors.ssc.so)
[ "$2" = "" ] && return 0
sed -i "s/qti.sensor.wise_light/android.sensor.light\x00/" "${2}"
"${SIGSCAN}" -p "F1 E9 D3 84 52 49 3F A0 72" -P "F1 A9 00 80 52 09 00 A0 72" -f "${2}"
;;
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "23 0A 00 94" -P "1F 20 03 D5" -f "${2}"
;;
*)
return 1
vendor/lib64/libAncSegBaseSdk.so|vendor/lib64/libaps_frame_registration.so|vendor/lib64/libyuv2.so)
"${PATCHELF}" --replace-needed "libstdc++.so" "libstdc++_vendor.so" "${2}"
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
if [ -z "${ONLY_FIRMWARE}" ] && [ -z "${ONLY_TARGET}" ]; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -34,11 +34,45 @@ on early-boot
on boot
# Display
chmod 0666 /sys/kernel/oplus_display/dump_info
chmod 0666 /sys/kernel/oplus_display/hbm
chmod 0666 /sys/kernel/oplus_display/seed
chmod 0666 /sys/kernel/oplus_display/panel_pwr
chmod 0666 /sys/kernel/oplus_display/dimlayer_bl_en
chmod 0666 /sys/kernel/oplus_display/ffl_set
chmod 0666 /sys/kernel/oplus_display/dimlayer_hbm
chmod 0666 /sys/kernel/oplus_display/force_screenfp
chmod 0666 /sys/kernel/oplus_display/notify_fppress
chmod 0666 /sys/kernel/oplus_display/aod_light_mode_set
chmod 0666 /sys/kernel/oplus_display/power_status
chmod 0666 /sys/kernel/oplus_display/sau_closebl_node
chmod 0666 /sys/kernel/oplus_display/esd_status
chmod 0644 /data/oppo/multimedia/oplus_display_perf_list.xml
chmod 0666 /sys/kernel/oplus_display/spr
chmod 0666 /sys/kernel/oplus_display/write_panel_reg
chmod 0666 /dev/oplus_display
chmod 0666 /sys/kernel/oplus_display/max_brightness
chmod 0666 /sys/kernel/oplus_display/dynamic_osc_clock
chmod 0666 /sys/kernel/oplus_display/panel_serial_number
chown system system /sys/kernel/oplus_display/dump_info
chown system system /sys/kernel/oplus_display/hbm
chown system system /sys/kernel/oplus_display/seed
chown system system /sys/kernel/oplus_display/panel_pwr
chown system system /dev/oplus_display
chown system system /sys/kernel/oplus_display/dimlayer_bl_en
chown system system /sys/kernel/oplus_display/dynamic_osc_clock
chown system system /sys/kernel/oplus_display/hbm
chown system system /sys/kernel/oplus_display/ffl_set
chown system system /sys/kernel/oplus_display/dimlayer_hbm
chown system system /sys/kernel/oplus_display/force_screenfp
chown system system /sys/kernel/oplus_display/notify_fppress
chown system system /sys/kernel/oplus_display/aod_light_mode_set
chown system system /sys/kernel/oplus_display/power_status
chown system system /sys/kernel/oplus_display/sau_closebl_node
chown system system /sys/kernel/oplus_display/esd_status
chown system system /sys/kernel/oplus_display/spr
chown system system /sys/kernel/oplus_display/write_panel_reg
chown system system /sys/kernel/oplus_display/max_brightness
chown system system /sys/kernel/oplus_display/dynamic_osc_clock
chown system system /sys/kernel/oplus_display/panel_serial_number
# Sensors
@@ -65,58 +99,6 @@ on property:vendor.post_boot.parsed=1
write /proc/irq/300/smp_affinity_list 2
write /proc/irq/338/smp_affinity_list 1
on property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2769
on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x2768
write /config/usb_gadget/g1/idVendor 0x22D9
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2764
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2765
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2771
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2772
on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276A
on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2783
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276C
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276E
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2767
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2775
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2766
service oplus-sh /odm/bin/init.oplus.sh
user root
group root

View File

@@ -441,15 +441,6 @@ case "$target" in
;;
esac
baseband=`getprop ro.baseband`
#enable atfwd daemon all targets except sda, apq, qcs
case "$baseband" in
"apq" | "sda" | "qcs" )
setprop persist.vendor.radio.atfwd.start false;;
*)
setprop persist.vendor.radio.atfwd.start true;;
esac
#set default lcd density
#Since lcd density has read only
#property, it will not overwrite previous set

View File

@@ -45,8 +45,6 @@ on early-init
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
on init
@@ -62,6 +60,8 @@ on init
write /sys/kernel/icnss/wpss_boot 1
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
setprop vendor.boot.project_name ${ro.boot.project_name}
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
@@ -133,9 +133,6 @@ on boot
mkdir /mnt/vendor/persist/iar_db 0770 system system
mkdir /mnt/vendor/spunvm 0770 system system
#Create WIGIG socket area
mkdir /dev/socket/wigig 0770 wifi wifi
setprop wifi.interface wlan0
setprop ro.telephony.call_ring.multiple false
@@ -247,13 +244,9 @@ on post-fs-data
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Create the directories used by WiGig Sensing
mkdir /data/vendor/sensing 0770 system wifi
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
@@ -461,12 +454,6 @@ on property:sys.boot_completed=1
#Reinit lmkd to reconfigure lmkd properties
setprop lmkd.reinit 1
on property:persist.vendor.radio.atfwd.start=false
stop vendor.atfwd
on property:vendor.radio.atfwd.start=false
stop vendor.atfwd
# corefile limit
on property:persist.debug.trace=1
mkdir /data/core 0777 root root
@@ -514,21 +501,6 @@ service qmiproxy /system/bin/qmiproxy
group radio diag
disabled
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
-S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wigig/wpa_wigig0 dgram 660 wifi wifi
disabled
oneshot
# Data Migration
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
class main
@@ -537,65 +509,6 @@ service vendor.move_wifi_data /system/bin/move_wifi_data.sh
disabled
oneshot
service wigignpt /vendor/bin/wigignpt
interface vendor.qti.hardware.wigig.netperftuner@1.0::INetPerfTuner default
class hal
socket wigig/wigignpt stream 660 system wifi
user system
group wifi
capabilities NET_ADMIN
disabled
on property:persist.vendor.wigig.npt.enable=1
start wigignpt
service vendor.sensingdaemon /vendor/bin/sensingdaemon
class hal
socket wigig/sensingdaemon stream 660 system wifi
user system
group wifi
disabled
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_bond0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_wigig0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user wifi
@@ -629,16 +542,6 @@ on property:sys.shutdown.requested=*
write /sys/kernel/shutdown_wlan/shutdown 1
stop cnss-daemon
service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
class late_start
disabled
oneshot
service iprenew_bt-pan /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ssgqmigd /vendor/bin/ssgqmigd
class late_start
user radio
@@ -697,11 +600,6 @@ service qvop-daemon /vendor/bin/qvop-daemon
user system
group system drmrpc
service vendor.atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
class main
capabilities NET_ADMIN NET_RAW

View File

@@ -58,6 +58,11 @@ on fs
restorecon_recursive /mnt/vendor/persist
mkdir /mnt/vendor/persist/data 0700 system system
mkdir /mnt/vendor/dsp 0770 root root
copy /vendor/dsp/cdsp/fastrpc_shell_3 /mnt/vendor/dsp/fastrpc_shell_3
chmod 0644 /mnt/vendor/dsp/fastrpc_shell_3
mount none /mnt/vendor/dsp/fastrpc_shell_3 /vendor/dsp/cdsp/fastrpc_shell_3 bind
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864

View File

@@ -195,7 +195,6 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/msm_vidc_dec_sec 0660 system audio
/dev/msm_vidc_enc 0660 system audio
/dev/msm_rotator 0660 system system
/dev/hw_random 0600 root root
/dev/sdsprpc-smd 0660 system system
#permissions for audio
@@ -305,14 +304,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
# wigig
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc

View File

@@ -1,10 +0,0 @@
[
{
"repository": "android_hardware_oplus",
"target_path": "hardware/oplus"
},
{
"repository": "android_kernel_oneplus_sm8250",
"target_path": "kernel/oneplus/sm8250"
}
]

View File

@@ -1,4 +1,4 @@
<manifest version="2.0" type="device" target-level="5">
<manifest version="2.0" type="device" target-level="6">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@@ -50,19 +50,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
@@ -112,7 +99,7 @@
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<version>1.0</version>
<version>1.1</version>
<interface>
<name>IOffloadControl</name>
<instance>default</instance>
@@ -304,24 +291,6 @@
<instance>dspservice</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.embmssl</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IEmbms</name>
<instance>embmsslServer0</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.factory</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.fm</name>
<transport>hwbinder</transport>
@@ -331,15 +300,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.fstman</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IFstManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.mwqemadapter</name>
<transport>hwbinder</transport>
@@ -358,15 +318,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.qccvndhal</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQccvndhal</name>
<instance>qccvndhal</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.qseecom</name>
<transport>hwbinder</transport>
@@ -496,15 +447,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wifi.wifilearner</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IWifiStats</name>
<instance>wifiStats</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wifidisplaysession</name>
<transport>hwbinder</transport>
@@ -526,24 +468,6 @@
<instance>wifidisplaysessionvideotrack</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wigig.netperftuner</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>INetPerfTuner</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.wigig.supptunnel</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISuppTunnelProvider</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.ims.callinfo</name>
<transport>hwbinder</transport>
@@ -571,13 +495,4 @@
<instance>imsrtpservice</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.qspmhal</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQspmhal</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View File

@@ -1,15 +0,0 @@
<manifest version="2.0" type="device">
<hal format="hidl" override="true">
<name>vendor.lineage.touch</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHighTouchPollingRate</name>
<instance>default</instance>
</interface>
<interface>
<name>ITouchscreenGesture</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View File

@@ -1,439 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!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.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
|__________|_____________________________________________________|
-->
<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.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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="15" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="15" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="15" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

471
media/media_codecs_c2.xml Normal file
View File

@@ -0,0 +1,471 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
Kona Non-Secure decoder capabilities
_________________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
| h264 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| hevc | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| vp8 | 4096 2160 30 120 1036800 |
| | (4096) (2304) (24) (120) |
| vp9 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
|_____________|_________________________________________|
Kona Secure decoder capabilities
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
| vp9 | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
| hevc | 4096 2160 60 40 2073600 |
| | (4096) (2304) (30) (40) |
|__________|_________________________________________|
Kona Non-Secure encoder capabilities (Secure not supported)
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
| h264 | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| hevc | 4096 2160 60 120 2073600 |
| | (4096) (2304) (30) (120) |
| vp8 | 4096 2160 30 120 1036800 |
| | (4096) (2304) (24) (120) |
|__________|_________________________________________|
-->
<Included>
<Settings>
<Domain name="telephony" enabled="true" />
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="64-2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Limit name="size" min="128x128" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<!-- TODO: parameters are copied from kona omx -->
<MediaCodec name="c2.qti.mpeg2.decoder" type="video/mpeg2" >
<Limit name="size" min="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<!-- OMX alias decoders (Codec2 decoders with OMX names) -->
<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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<Limit name="performance-point-8192x4320" value="48" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- TODO: parameters are copied from kona omx -->
</Decoders>
<Encoders>
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" >
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<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="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic" >
<Alias name="OMX.qcom.video.encoder.heic"/>
<Quirk name="requires-allocate-on-input-ports" />
<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="512x512" max="5120x2560" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-8192x4320" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<!-- OMX alias encoders (Codec2 encoders with OMX names) -->
<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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
</Encoders>
</Included>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 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.
This file was modified by Dolby Laboratories, Inc. The portions of the
code that are surrounded by "DOLBY..." are copyrighted and
licensed separately, as follows:
(C) 2018 Dolby Laboratories, Inc.
All rights reserved.
This program is protected under international and U.S. Copyright laws as
an unpublished work. This program is confidential and proprietary to the
copyright owners. Reproduction or disclosure, in whole or in part, or the
production of derivative works therefrom without the express permission of
the copyright owners is prohibited.
-->
<Included>
<Decoders>
<!-- DOLBY_UDC -->
<MediaCodec name="OMX.dolby.ac3.decoder" type="audio/ac3">
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="32000,44100,48000" />
<Limit name="bitrate" range="32000-640000" />
</MediaCodec>
<MediaCodec name="OMX.dolby.eac3.decoder" type="audio/eac3">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="32000,44100,48000" />
<Limit name="bitrate" range="32000-6144000" />
</MediaCodec>
<MediaCodec name="OMX.dolby.eac3-joc.decoder" type="audio/eac3-joc">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="48000" />
<Limit name="bitrate" range="32000-6144000" />
</MediaCodec>
<!-- DOLBY_UDC END -->
</Decoders>
</Included>

View File

@@ -1,454 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!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.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_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.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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="7680x7680" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-129600" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="7680x7680" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-129600" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@@ -1,454 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!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.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
"block-count"
Used by following MediaCodecInfo apis:
getSupportedWidthsFor(height) and
getSupportedHeightsFor(width)
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| hevc | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| | 1280 720 30 40 108000 |
| vp8 | 1280 720 120 220 432000 1036800 |
| | 1920 1088 120 220 979200 |
| | 3840 2160 30 220 972000 |
| | 4096 2160 30 220 1036800 |
| vp9 | 1920 1088 480 220 3916800 7776000 |
| | 3820 2160 240 220 7735500 |
| | 4096 2160 120 220 4147200 |
| | 7680 4320 60 220 7776000 |
| mpeg2 | 1020 1088 60i 40 130050 244800 |
| | 1920 1088 30 40 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc | 1280 720 960 220 3456000 3916800 |
| | 1920 1088 480 220 3916800 |
| | 3840 2160 120 220 3888000 |
| | 4096 2160 60 220 2073600 |
| | 8192 4320 24 220 3317760 |
| hevc.cq | 512 512 3825 220 3916800 3916800 |
| vp8 | 1280 720 60 70 216000 2073600 |
| | 1920 1088 60 70 489600 |
| | 3840 2160 60 70 1944000 |
| | 4096 2160 60 70 2073600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_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.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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2160" value="60" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="7680x7680" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-129600" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="CQ" />
<Limit name="performance-point-512x512" value="3825" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-8160" />
<Limit name="blocks-per-second" min="64" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-4096x2160" value="30" />
</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="128x128" max="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-138240" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="128x128" max="7680x7680" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-129600" />
<Limit name="blocks-per-second" min="64" max="7776000" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-960" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="960" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-3840x2160" value="240" />
<Limit name="performance-point-4096x2160" value="120" />
<Limit name="performance-point-7680x4320" value="60" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Yangwen@MULTIMEDIA.MEDIASERVER.PLAYER,2020380, 2021/09/25, -->
<!--
<Limit name="performance-point-8192x4320" value="48" />
-->
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</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="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-34560" />
<Limit name="blocks-per-second" min="64" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x864" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-1620" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-720x480" value="30" />
<Limit name="performance-point-720x576" value="25" />
<Limit name="performance-point-864x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1920" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="4" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
Copyright (C) 2012-2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="567-1298" />
<Limit name="measured-frame-rate-720x480" range="720-740" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="76-167" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-750" />
<Limit name="measured-frame-rate-1280x720" range="131-289" />
<Limit name="measured-frame-rate-1920x1080" range="83-183" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-800" />
<Limit name="measured-frame-rate-1280x720" range="94-207" />
<Limit name="measured-frame-rate-1920x1080" range="87-190" />
<Limit name="measured-frame-rate-3840x2160" range="20-44" />
</MediaCodec>
<!-- C2 HW decoders with OMX aliases -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="101-221" />
<Limit name="measured-frame-rate-720x480" range="720-740" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="76-167" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-750" />
<Limit name="measured-frame-rate-1280x720" range="131-289" />
<Limit name="measured-frame-rate-1920x1080" range="83-183" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="800-900" />
<Limit name="measured-frame-rate-640x360" range="700-800" />
<Limit name="measured-frame-rate-1280x720" range="94-207" />
<Limit name="measured-frame-rate-1920x1080" range="87-190" />
<Limit name="measured-frame-rate-3840x2160" range="20-44" />
</MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
<Limit name="measured-frame-rate-320x240" range="192-207" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="72-73" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="27-27" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="15-16" /> <!-- N=272 v98%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="259-262" /> <!-- N=270 v98%=1.6 -->
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
<Limit name="measured-frame-rate-640x360" range="149-169" /> <!-- TWEAKED N=269 v98%=1.7 -->
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
<Limit name="measured-frame-rate-720x480" range="161-186" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="81-81" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="46-46" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
<Limit name="measured-frame-rate-320x180" range="367-613" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="235-235" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="21-21" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
<Limit name="measured-frame-rate-320x180" range="322-668" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="162-259" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="72-73" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="47-47" /> <!-- N=230 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
<Limit name="measured-frame-rate-176x144" range="800-1000" /> <!-- N=270 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
<Limit name="measured-frame-rate-176x144" range="450-850" /> <!-- N=272 v90%=3.0 -->
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="355-437" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="126-278" />
<Limit name="measured-frame-rate-720x480" range="48-106" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="17-37" />
<Limit name="measured-frame-rate-3840x2160" range="11-25" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="107-236" />
<Limit name="measured-frame-rate-640x360" range="67-147" />
<Limit name="measured-frame-rate-1280x720" range="21-46" />
<Limit name="measured-frame-rate-1920x1080" range="18-41" />
</MediaCodec>
<!-- C2 HW encoders with OMX aliases -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="106-234" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="126-278" />
<Limit name="measured-frame-rate-720x480" range="48-106" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="17-37" />
<Limit name="measured-frame-rate-3840x2160" range="11-25" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="107-236" />
<Limit name="measured-frame-rate-640x360" range="67-147" />
<Limit name="measured-frame-rate-1280x720" range="21-46" />
<Limit name="measured-frame-rate-1920x1080" range="18-41" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
<Limit name="measured-frame-rate-320x240" range="82-212" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
<Limit name="measured-frame-rate-720x480" range="47-83" /> <!-- N=262 -->
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
<Limit name="measured-frame-rate-1280x720" range="22-42" /> <!-- TWEAKED N=236 -->
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
<Limit name="measured-frame-rate-1920x1080" range="18-19" /> <!-- N=288 v98%=2.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
<Limit name="measured-frame-rate-320x180" range="7-16" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
<Limit name="measured-frame-rate-640x360" range="6-12" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="5-6" /> <!-- N=202 v98%=2.0 -->
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
<Limit name="measured-frame-rate-1920x1080" range="4-5" /> <!-- N=212 v98%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 93%:99-156 med:109/109 N=24 -->
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
<!-- measured 95%:16-26 med:20/20 N=32 -->
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@@ -1,235 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
u may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="310-450" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="69-152" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="295-435" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="355-520" />
<Limit name="measured-frame-rate-640x360" range="236-302" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="215-215" />
<Limit name="measured-frame-rate-720x480" range="100-100" />
<Limit name="measured-frame-rate-1280x720" range="56-56" />
<Limit name="measured-frame-rate-1920x1080" range="30-30" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="180-180" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="93-94" />
<Limit name="measured-frame-rate-640x360" range="32-32" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="140-309" />
<Limit name="measured-frame-rate-720x480" range="45-99" />
<Limit name="measured-frame-rate-1280x720" range="24-54" />
<Limit name="measured-frame-rate-1920x1080" range="12-26" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="142-313" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="144-316" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="58-129" />
<Limit name="measured-frame-rate-640x360" range="35-77" />
<Limit name="measured-frame-rate-1280x720" range="11-25" />
<Limit name="measured-frame-rate-1920x1080" range="10-22" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="109-109" />
<Limit name="measured-frame-rate-640x360" range="61-61" />
<Limit name="measured-frame-rate-1280x720" range="20-20" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="18-40" />
<Limit name="measured-frame-rate-720x480" range="6-22" />
</MediaCodec>
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- ziran.deng@MM.MediaServer, 2023/7/11, -->
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="40-88" />
<Limit name="measured-frame-rate-720x480" range="18-40" />
<Limit name="measured-frame-rate-1280x720" range="10-22" />
</MediaCodec>
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="756-1179" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Wuhan@MULTIMEDIA.MEDIASERVER.PLAYER.306506, 2020/08/27, -->
<Limit name="measured-frame-rate-640x360" range="500-1000" />
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-720x480" range="1046-1157" />
<Limit name="measured-frame-rate-1280x720" range="318-319" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="782-1581" />
<Limit name="measured-frame-rate-352x288" range="380-920" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="775-2064" />
<Limit name="measured-frame-rate-480x360" range="695-915" />
<Limit name="measured-frame-rate-1280x720" range="369-529" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="175-386" />
<Limit name="measured-frame-rate-640x360" range="315-693" />
<Limit name="measured-frame-rate-1280x720" range="124-273" />
<Limit name="measured-frame-rate-1920x1080" range="72-160" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="806-1245" />
<Limit name="measured-frame-rate-640x360" range="832-1285" />
<Limit name="measured-frame-rate-1280x720" range="485-600" />
<Limit name="measured-frame-rate-1920x1080" range="435-495" />
<Limit name="measured-frame-rate-3840x2160" range="83-98" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="122-370" />
<Limit name="measured-frame-rate-720x480" range="68-68" />
<Limit name="measured-frame-rate-1280x720" range="32-32" />
<Limit name="measured-frame-rate-1920x1080" range="24-26" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="104-279" />
<Limit name="measured-frame-rate-352x288" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="502-550" />
<Limit name="measured-frame-rate-640x360" range="267-271" />
<Limit name="measured-frame-rate-720x480" range="254-257" />
<Limit name="measured-frame-rate-1280x720" range="94-95" />
<Limit name="measured-frame-rate-1920x1080" range="47-49" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="430-450" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1103-1170" />
<Limit name="measured-frame-rate-320x240" range="330-381" />
<Limit name="measured-frame-rate-640x360" range="487-490" />
<Limit name="measured-frame-rate-1280x720" range="22-38" />
<Limit name="measured-frame-rate-1920x1080" range="39-40" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="861-909" />
<Limit name="measured-frame-rate-320x240" range="200-230" />
<Limit name="measured-frame-rate-640x360" range="265-268" />
<Limit name="measured-frame-rate-1280x720" range="32-40" />
<Limit name="measured-frame-rate-1920x1080" range="19-23" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="93-205" />
<Limit name="measured-frame-rate-720x480" range="48-106" />
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
<!-- Changzhi.Wei-xinzhi@MULTIMEDIA.MEDIASERVER.PLAYER.306506, 2020/08/27, -->
<!--
<Limit name="measured-frame-rate-1280x720" range="80-155" />
-->
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-1280x720" range="26-58" />
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-1920x1080" range="14-31" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="229-504" />
<Limit name="measured-frame-rate-640x360" range="130-287" />
<Limit name="measured-frame-rate-720x480" range="55-182" />
<Limit name="measured-frame-rate-1280x720" range="30-67" />
<Limit name="measured-frame-rate-1920x1080" range="19-42" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="240-528" />
<Limit name="measured-frame-rate-480x360" range="210-463" />
<Limit name="measured-frame-rate-1280x720" range="94-207" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="216-475" />
<Limit name="measured-frame-rate-352x288" range="190-419" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="174-382" />
<Limit name="measured-frame-rate-640x360" range="87-192" />
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
<!-- Wuhan@MULTIMEDIA.MEDIASERVER.PLAYER.1506408, 2020/08/11, -->
<!-- Modify for VideoDecoderPerfTest cts -->
<!--
<Limit name="measured-frame-rate-1280x720" range="190-244" />
-->
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-1280x720" range="30-66" />
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="190-419" />
<Limit name="measured-frame-rate-640x360" range="171-377" />
<Limit name="measured-frame-rate-1280x720" range="52-114" />
<Limit name="measured-frame-rate-1920x1080" range="19-43" />
</MediaCodec>
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- ziran.deng@MM.MediaServer, 2023/7/11, -->
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="101-224" />
<Limit name="measured-frame-rate-640x360" range="63-139" />
<Limit name="measured-frame-rate-720x480" range="57-125" />
<Limit name="measured-frame-rate-1280x720" range="30-65" />
</MediaCodec>
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</Decoders>
</MediaCodecs>

View File

@@ -21,46 +21,6 @@ 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="310-450" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="69-152" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="295-435" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="355-520" />
<Limit name="measured-frame-rate-640x360" range="236-302" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="215-215" />
<Limit name="measured-frame-rate-720x480" range="100-100" />
<Limit name="measured-frame-rate-1280x720" range="56-56" />
<Limit name="measured-frame-rate-1920x1080" range="30-30" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="180-180" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="93-94" />
<Limit name="measured-frame-rate-640x360" range="32-32" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="140-309" />
<Limit name="measured-frame-rate-720x480" range="45-99" />
@@ -98,81 +58,6 @@ limitations under the License.
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="756-1179" />
<!-- #ifdef OPLUS_BUG_COMPATIBILITY -->
<!-- Wuhan@MULTIMEDIA.MEDIASERVER.PLAYER.306506, 2020/08/27, -->
<Limit name="measured-frame-rate-640x360" range="500-1000" />
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
<Limit name="measured-frame-rate-720x480" range="1046-1157" />
<Limit name="measured-frame-rate-1280x720" range="318-319" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="782-1581" />
<Limit name="measured-frame-rate-352x288" range="380-920" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="775-2064" />
<Limit name="measured-frame-rate-480x360" range="695-915" />
<Limit name="measured-frame-rate-1280x720" range="369-529" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="175-386" />
<Limit name="measured-frame-rate-640x360" range="315-693" />
<Limit name="measured-frame-rate-1280x720" range="124-273" />
<Limit name="measured-frame-rate-1920x1080" range="72-160" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="806-1245" />
<Limit name="measured-frame-rate-640x360" range="832-1285" />
<Limit name="measured-frame-rate-1280x720" range="485-600" />
<Limit name="measured-frame-rate-1920x1080" range="435-495" />
<Limit name="measured-frame-rate-3840x2160" range="83-98" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="122-370" />
<Limit name="measured-frame-rate-720x480" range="68-68" />
<Limit name="measured-frame-rate-1280x720" range="32-32" />
<Limit name="measured-frame-rate-1920x1080" range="24-26" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="104-279" />
<Limit name="measured-frame-rate-352x288" range="200-200" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="502-550" />
<Limit name="measured-frame-rate-640x360" range="267-271" />
<Limit name="measured-frame-rate-720x480" range="254-257" />
<Limit name="measured-frame-rate-1280x720" range="94-95" />
<Limit name="measured-frame-rate-1920x1080" range="47-49" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="430-450" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1103-1170" />
<Limit name="measured-frame-rate-320x240" range="330-381" />
<Limit name="measured-frame-rate-640x360" range="487-490" />
<Limit name="measured-frame-rate-1280x720" range="22-38" />
<Limit name="measured-frame-rate-1920x1080" range="39-40" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="861-909" />
<Limit name="measured-frame-rate-320x240" range="200-230" />
<Limit name="measured-frame-rate-640x360" range="265-268" />
<Limit name="measured-frame-rate-1280x720" range="32-40" />
<Limit name="measured-frame-rate-1920x1080" range="19-23" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="93-205" />
<Limit name="measured-frame-rate-720x480" range="48-106" />

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2015-2021 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
<!-- SimpleOMXComponet based software decoder-->
</Decoders>
<Include href="media_codecs_dolby_audio.xml" />
</Included>

View File

@@ -0,0 +1,8 @@
{
"Video": {
"Presets": {
"enc_default_bframe_count": 1,
"enc_max_mbs_per_sec": 7833600
}
}
}

View File

@@ -4,3 +4,6 @@ ro.config.media_vol_steps=30
ro.config.vc_call_vol_steps=9
ro.vendor.audio.sdk.fluencetype=fluence
ro.vendor.qti.va_odm.support=1
# Media
ro.odm.build.media_performance_class=30

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2024 The Evolution X Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Whether device has VOOC charging support -->
<bool name="config_hasVoocCharger">true</bool>
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
<string name="config_oemFastChargerStatusPath" translatable="false">/sys/devices/virtual/oplus_chg/battery/voocchg_ing</string>
</resources>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2024 The Evolution X Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Charging info current divider, if needed -->
<integer name="config_currentInfoDivider" translatable="false">1</integer>
<!-- The location of the devices physical tri state switch
0: Left side
1: Right side -->
<integer name="config_alertSliderLocation">1</integer>
</resources>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Max network scan search time in seconds -->
<integer name="config_network_scan_helper_max_search_time_sec">254</integer>
</resources>

View File

@@ -3557,6 +3557,10 @@
<item value="405873" />
<item value="405874" />
</string-array>
<!-- PA: Do not allow 5G NSA on Jio -->
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="2" />
</int-array>
</carrier_config>
<carrier_config operator="AIRTEL">
<boolean name="carrier_volte_available_bool" value="true" />

View File

@@ -79,6 +79,12 @@
<!-- Whether the new Auto Selection Network UI should be shown -->
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
<!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
<bool name="config_telephony5gStandalone">true</bool>
<!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
<bool name="config_telephony5gNonStandalone">true</bool>
<!-- Safe headphone volume index. When music stream volume is below this index
the SPL on headphone output is compliant to EN 60950 requirements for portable music
players. -->
@@ -113,4 +119,11 @@
available on some devices. -->
<bool name="config_enableHapticTextHandle">true</bool>
<!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
is not necessarily the same as the number of phones/logical modems supported by the device.
For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
and one pSIM) -->
<integer name="config_num_physical_slots">2</integer>
</resources>

View File

@@ -25,6 +25,9 @@
<item>259</item>
</integer-array>
<!-- Max network scan search time in seconds -->
<integer name="config_network_scan_helper_max_search_time_sec">254</integer>
<!-- Whether to show Smooth Display feature in Settings Options -->
<bool name="config_show_smooth_display">true</bool>

View File

@@ -3,3 +3,7 @@ af.fast_track_multiplier=1
# GMS
ro.opa.device_model_id=ga-oplus-skill-os121-211011
# Google Lens
ro.com.google.lens.oem_camera_package=com.oneplus.camera
ro.com.google.lens.oem_image_package=com.oneplus.gallery

View File

@@ -1,8 +1,8 @@
## All proprietary files from this list, unless pinned and noted otherwise, are
## from OnePlus 8T (KB2005_14.0.0.601(EX01)).
## from OnePlus 8T (KB2005_14.0.0.603(EX01)).
# ACDBs
vendor/etc/acdbdata/adsp_avs_config.acdb
vendor/etc/acdbdata/adsp_avs_config.acdb;SYMLINK=odm/etc/acdbdata/adsp_avs_config.acdb
# ADSP
vendor/bin/adsprpcd
@@ -13,10 +13,10 @@ vendor/lib64/libadsp_default_listener.so
vendor/lib64/vendor.qti.hardware.dsp@1.0.so
# ADSP modules
odm/lib/rfsa/adsp/hta_lib/libhta_dsp_skel.so
odm/lib/rfsa/adsp/hta_lib/libhta_dsp_skel.so;MODULE_SUFFIX=_odm
odm/lib/rfsa/adsp/libc++.so.1
odm/lib/rfsa/adsp/libc++abi.so.1
odm/lib/rfsa/adsp/libinterstellar_skel.so
odm/lib/rfsa/adsp/libinterstellar_skel.so;MODULE_SUFFIX=_odm
odm/lib/rfsa/adsp/libktvdrc.so
odm/lib/rfsa/adsp/libktveffect.so
odm/lib/rfsa/adsp/libktveq.so
@@ -81,7 +81,7 @@ vendor/lib/libaudcal.so
vendor/lib/libaudio_log_utils.so
vendor/lib/libaudioparsers.so
vendor/lib/libhdmipassthru.so
vendor/lib/libqtigef.so
vendor/lib/libqtigef.so;MODULE_SUFFIX=_vendor
vendor/lib64/libadsprpc.so
# Bluetooth
@@ -122,21 +122,26 @@ odm/bin/vl53l1_daemon_main
odm/etc/camera/fb_default
odm/etc/camera/fwk_config.json
odm/lib/libfastov_dsp.so
odm/lib64/camera/components/com.qti.stats.pdlib.so
odm/lib64/camera/components/libipebpsstriping.so
odm/lib64/camera/components/com.qti.stats.pdlib.so;MODULE_SUFFIX=_odm
odm/lib64/camera/components/libipebpsstriping.so;MODULE_SUFFIX=_odm
odm/lib64/camera/fdconfigpreview.bin
odm/lib64/camera/fdconfigpreviewlite.bin
odm/lib64/camera/fdconfigvideo.bin
odm/lib64/camera/fdconfigvideolite.bin
odm/lib64/libSonyIMX471RmscLibrary.so
odm/lib64/libaiboost.so
odm/lib64/libaiboost_hexagon.so
odm/lib64/libfastov_dsp.so
odm/lib64/libormshalclient.so
odm/lib64/libvl53l1_daemon.so
odm/lib64/sensors.hal.tof.so
odm/lib64/vendor.oplus.hardware.cammidasservice-V1-ndk_platform.so
vendor/etc/camera/M_Attribute_AG_BMW_1.1.0.model.hardcode
vendor/etc/camera/depth.dlc
vendor/etc/camera/model.data
vendor/etc/camera/segment.dlc
vendor/lib/libc++_shared.so
vendor/lib/libnightvision.so
vendor/lib/libnightvision.so;FIX_SONAME
vendor/lib64/camera/components/com.oneplus.node.memcpy.so
vendor/lib64/camera/components/com.oneplus.node.omoji.so
vendor/lib64/camera/components/com.oneplus.node.preview.so
@@ -152,9 +157,9 @@ vendor/lib64/camera/components/com.qti.node.customhwnode.so
vendor/lib64/camera/components/com.qti.node.depth.so
vendor/lib64/camera/components/com.qti.node.dummyrtb.so
vendor/lib64/camera/components/com.qti.node.dummysat.so
vendor/lib64/camera/components/com.qti.node.eisv2.compass.so
vendor/lib64/camera/components/com.qti.node.eisv2.compass.so;FIX_SONAME
vendor/lib64/camera/components/com.qti.node.eisv2.so
vendor/lib64/camera/components/com.qti.node.eisv3.compass.so
vendor/lib64/camera/components/com.qti.node.eisv3.compass.so;FIX_SONAME
vendor/lib64/camera/components/com.qti.node.eisv3.so
vendor/lib64/camera/components/com.qti.node.fcv.so
vendor/lib64/camera/components/com.qti.node.gpu.so
@@ -203,9 +208,37 @@ vendor/lib64/com.qti.feature2.rt.so
vendor/lib64/com.qti.feature2.serializer.so
vendor/lib64/com.qti.feature2.stub.so
vendor/lib64/com.qti.feature2.swmf.so
vendor/lib64/lib_bokehlib.so
vendor/lib64/lib_oneplus_watermark.so
vendor/lib64/lib_oneplus_vivideffect.so
vendor/lib64/libAlgoProcess.so
vendor/lib64/libAncSegBaseSdk.so
vendor/lib64/libFaceBeautyLiteCap.so
vendor/lib64/libOPPO_Front_SCPortrait.so
vendor/lib64/libOPPO_SCPortrait.so
vendor/lib64/libPlatformValidatorShared.so
vendor/lib64/libPolarrRender.so
vendor/lib64/libSNPE.so
vendor/lib64/libSonyIMX471RmscLibrary.so
vendor/lib64/libSuperSensor.so
vendor/lib64/libSuperSensorFallback.so
vendor/lib64/libSuperSensorProcessor.so
vendor/lib64/libSuperSensorProcessorCWrapper.so
vendor/lib64/libVDBlurless.so
vendor/lib64/libVDDualCameraBlurlessAPI.so
vendor/lib64/libVDFusionBlurlessAPI_v2.so
vendor/lib64/libVDSuperPhotoAPI.so
vendor/lib64/libalCFR.so
vendor/lib64/libalCFRLV.so
vendor/lib64/libalCFRLV_dsp.so
vendor/lib64/libalHexController.so
vendor/lib64/libancbase_segbase.so
vendor/lib64/libaps_frame_registration.so
vendor/lib64/libapsdarksight.so
vendor/lib64/libapsexif.so
vendor/lib64/libapsjpeg.so
vendor/lib64/libarcsoft_beautyshot.so
vendor/lib64/libarcsoft_beautyshot_4.0.so
vendor/lib64/libarcsoft_beautyshot_4.0.so;FIX_SONAME
vendor/lib64/libarcsoft_calibverify_TriCamera.so
vendor/lib64/libarcsoft_dualcam_bokeh_api.so
vendor/lib64/libarcsoft_dualcam_refocus_left.so
@@ -224,7 +257,7 @@ vendor/lib64/libarcsoft_hta.so
vendor/lib64/libarcsoft_low_light_hdr.so
vendor/lib64/libarcsoft_mfsr_frt.so
vendor/lib64/libarcsoft_portrait_distortion_correction.so
vendor/lib64/libarcsoft_portrait_distortion_correction_20801.so
vendor/lib64/libarcsoft_portrait_distortion_correction_20801.so;FIX_SONAME
vendor/lib64/libarcsoft_smart_denoise.so
vendor/lib64/libarcsoft_smart_denoise_v4.so
vendor/lib64/libarcsoft_stripe_removal.so
@@ -234,6 +267,7 @@ vendor/lib64/libarcsoft_tricam_calibration.so
vendor/lib64/libarcsoft_tricam_verification.so
vendor/lib64/libarcsoft_video_fringing_correction.so
vendor/lib64/libbitmlengine.so
vendor/lib64/libc++_shared.so
vendor/lib64/libcamera_nn_stub.so
vendor/lib64/libcamerapostproc.so
vendor/lib64/libcamxexternalformatutils.so
@@ -246,30 +280,46 @@ vendor/lib64/libcamxncs.so
vendor/lib64/libcamxstatscore.so
vendor/lib64/libcamxswprocessalgo.so
vendor/lib64/libcamxtintlessalgo.so
vendor/lib64/libcamxtintlessalgo_21.so
vendor/lib64/libcamxtintlessalgo_21.so;FIX_SONAME
vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.so
vendor/lib64/libcvface_api.so
vendor/lib64/libcvp2.so
vendor/lib64/libcvp2_hfi.so
vendor/lib64/libcvp_common.so
vendor/lib64/libcvpcpuRev_skel.so
vendor/lib64/libdualcam_image_optical_zoom.so
vendor/lib64/libdualcam_optical_zoom_control.so
vendor/lib64/libdualcam_video_optical_zoom.so
vendor/lib64/libipebpsstriping.so
vendor/lib64/libmidasserviceintf.so
vendor/lib64/libmidasserviceintf_aidl.so
vendor/lib64/libmmcamera_faceproc.so
vendor/lib64/libmmcamera_faceproc2.so
vendor/lib64/libmorpho_dcface.so
vendor/lib64/libmorpho_image_refiner_deflicker.so
vendor/lib64/libmpbase.so
vendor/lib64/libnanopb.so
vendor/lib64/libnightvision.so
vendor/lib64/libofflinelog.so
vendor/lib64/libop-bokeh.so
vendor/lib64/libos.so
vendor/lib64/libsnpe_adsp.so
vendor/lib64/libsnpe_dsp_domains.so
vendor/lib64/libsnpe_dsp_domains_v2.so
vendor/lib64/libsnpe_loader.so
vendor/lib64/libstblur_capture_api.so
vendor/lib64/libswregistrationalgo.so
vendor/lib64/libsymphony-cpu.so
vendor/lib64/libsymphonypower.so
vendor/lib64/libsynx.so
vendor/lib64/libthreadutils.so
vendor/lib64/libtriplecam_image_optical_zoom.so
vendor/lib64/libtriplecam_optical_zoom_control.so
vendor/lib64/libtriplecam_video_optical_zoom.so
vendor/lib64/libyuv2.so
vendor/lib64/vendor.oplus.hardware.cammidasservice@1.0.so
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so|af3ebaadd0c77af2ce95e1f7a8671f486f86e0cd|1da16b6e07e7688325bc23017c1a837eba277e1a
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
# Camera firmware
vendor/firmware/CAMERA_ICP.elf
@@ -503,6 +553,30 @@ vendor/lib64/vendor.display.color@1.4.so
vendor/lib64/vendor.display.color@1.5.so
vendor/lib64/vendor.display.postproc@1.0.so
# Dolby - MT2111_14.0.0.730(EX01)
odm/etc/dolby/multimedia_dolby_dax_default.xml|be49c4cde1bc41f67fbfa2c49ba6d8f4e40eb8dc
odm/etc/init/vendor.dolby_v3_6.hardware.dms360@2.0-service.rc|5da96cf855061860f27dff6399505f8d1f1daeee
odm/bin/hw/vendor.dolby_v3_6.hardware.dms360@2.0-service|7951f0ede5108f0080bb8abb18651058db9e46ae
odm/etc/vintf/manifest/manifest_dax_dolby_v3_6.xml|c4704e5bc4da7cdf291c79389f379c8355eaf730
odm/lib/libdapparamstorage_v3_6.so:odm/etc/libdapparamstorage_v3_6_etc.so;SYMLINK=odm/lib/libdapparamstorage_v3_6.so|c6c36fba280f2373034cf754870611614bf0f22f
odm/lib/libdeccfg_v3_6.so:odm/etc/libdeccfg_v3_6_etc.so;SYMLINK=odm/lib/libdeccfg_v3_6.so|742cadaf61aea20eabdac099668bfd43ddf4bb35
odm/lib/libdlbdsservice_v3_6.so:odm/etc/libdlbdsservice_v3_6_etc.so;SYMLINK=odm/lib/libdlbdsservice_v3_6.so|eac269dfbf334f4cc9d5900fb1c53dbfbaea4d6b|d0c30c56c88635392d05ccbca8d6b136b7f405e2
odm/lib/libqtigef.so:odm/etc/libqtigef_etc.so;SYMLINK=odm/lib/libqtigef.so|c7d588a80c3aac52b160db6ded1528bb8b8fd7bd
odm/lib/libstagefright_soft_ddpdec_v3_6.so:odm/etc/libstagefright_soft_ddpdec_etc.so;SYMLINK=odm/lib/libstagefright_soft_ddpdec.so|7b9a91a1d15c90a0d804d372554e561380cd109e|893c61e2e39f977406e4c7a6214838fd4fe3eceb
odm/lib/libstagefrightdolby.so:odm/etc/libstagefrightdolby_etc.so;SYMLINK=odm/lib/libstagefrightdolby.so|47b7e78597d7d047ff28a573092ed3ad7f88df48|e34e83479cfdaa9d55fe790815742d7a5bde1e52
odm/lib/soundfx/libhwdap_v3_6.so:odm/etc/soundfx/libhwdap_v3_6_etc.so;SYMLINK=odm/lib/soundfx/libhwdap_v3_6.so|1992eea271d67bef7482377605a2efa4c2f6dba8
odm/lib/soundfx/libswdap_v3_6.so:odm/etc/soundfx/libswdap_v3_6_etc.so;SYMLINK=odm/lib/soundfx/libswdap_v3_6.so|3e521eb43ea5b43e2436f2c46d7b8f169b2f1553
odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0-impl.so:odm/etc/vendor.dolby_v3_6.hardware.dms360@2.0-impl_etc.so;SYMLINK=odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0-impl.so|b535d7ebc47cb933fe7654a53cc36a5bfc928639
odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0.so:odm/etc/vendor.dolby_v3_6.hardware.dms360@2.0_etc.so;SYMLINK=odm/lib/vendor.dolby_v3_6.hardware.dms360@2.0.so|d6f89d6499661023dc8fe451ca5c55f1a3ba7d55
odm/lib64/libdapparamstorage_v3_6.so|d0c9e16ec5a589a9e47a8d3907d7949fd4fdb439
odm/lib64/libdeccfg_v3_6.so|25a64da2aa3bf9cb2b6fd644547ba1e94cdb47f4
odm/lib64/libdlbdsservice_v3_6.so|08ae454ff029791ba436f750ca6c717cb6d7bf36|55f2884a2305886b20f904820664bf6e6e390883
odm/lib64/libqtigef.so|09fb25411b4767ab2f7eebdccd7cc7fd9a85feee
odm/lib64/soundfx/libhwdap_v3_6.so|e4bf45ccd3ae9d4347d1416019d96681b2c651ea
odm/lib64/soundfx/libswdap_v3_6.so|92dca01e5bc4cd654a1b72197fc744d8e5bb1b74
odm/lib64/vendor.dolby_v3_6.hardware.dms360@2.0-impl.so|5b5f4b383c03a6aaa759b1cc7f6f0aea7d1f6ba0
odm/lib64/vendor.dolby_v3_6.hardware.dms360@2.0.so|e62f04117fead61eea7f2593e7ccbb565436a0ee
# DPM
system_ext/bin/dpmd
system_ext/bin/tcmd
@@ -526,7 +600,7 @@ system_ext/lib64/vendor.qti.hardware.dpmservice@1.0.so
system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk
vendor/bin/dpmQmiMgr
vendor/etc/init/dpmQmiMgr.rc
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor
vendor/lib64/libdpmqmihal.so
# DRM
@@ -779,7 +853,7 @@ vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so
vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so
vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so
vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so
vendor/lib64/vendor.qti.imsrtpservice@3.0.so
vendor/lib64/vendor.qti.imsrtpservice@3.0.so;MODULE_SUFFIX=_vendor
# IPA firmware
vendor/etc/init/ipa_fws.rc
@@ -804,11 +878,11 @@ odm/etc/vintf/manifest/vendor.pixelworks.hardware.feature.irisfeature-service.xm
odm/lib64/libpwirisIoctlWrapper.so
odm/lib64/libpwirisPCS.so
odm/lib64/libpwiriscalibrate.so
odm/lib64/libpwirisfeature.so
odm/lib64/libpwirishalwrapper.so
odm/lib64/libpwirisfeature.so;MODULE_SUFFIX=_odm
odm/lib64/libpwirishalwrapper.so;MODULE_SUFFIX=_odm
odm/lib64/libpwirispq.so
odm/lib64/libpwirisservice.so
odm/lib64/libpwirissoft.so|e6fddaebca2981a09a46cf5397d47379b455228a|c0c3eb5df1210030190f634eceded4e3daff8506
odm/lib64/libpwirissoft.so
odm/lib64/libpwsnapdragoncolor.so
odm/lib64/libpwsoftirisPCS.so
odm/lib64/vendor.pixelworks.hardware.display@1.0.so
@@ -839,21 +913,31 @@ vendor/lib/liblistensoundmodel2.so
vendor/lib/libmulawdec.so
# Media
odm/etc/media_codecs_c2.xml
system_ext/lib/libmmosal.so
system_ext/lib/libmmparser_lite.so
system_ext/lib64/libmmosal.so
vendor/etc/media_codecs_vendor_audio.xml
system_ext/lib64/libmmparser_lite.so
vendor/bin/hw/vendor.qti.media.c2@1.0-service
vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy
vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy
vendor/etc/media_profiles.xml
vendor/etc/media_profiles_kona.xml
vendor/etc/media_profiles_vendor.xml
vendor/etc/system_properties.xml
vendor/lib64/libmmosal.so
vendor/lib/libqcodec2_base.so
vendor/lib/libqcodec2_basecodec.so
vendor/lib/libqcodec2_core.so
vendor/lib/libqcodec2_platform.so
vendor/lib/libqcodec2_utils.so
vendor/lib/libqcodec2_v4l2codec.so
vendor/lib64/libmmosal.so;MODULE_SUFFIX=_vendor
# Media (Codec2) - from NX659J RKQ1.200826.002 20221012.201513
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc|11209316ba8aae64b689217bc13b0804f6620678
vendor/etc/vintf/manifest/c2_manifest_vendor.xml|0e532bf1c7d6a0ee2e7e03a9cc3283a5bffc7f8e
# Native public libraries
vendor/etc/public.libraries.txt
# Neural networks
odm/lib64/hta_lib/libhta_hexagon_runtime.so
vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti
vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml
@@ -871,31 +955,6 @@ odm/etc/nfc/libnfc-mtp-SN100.conf_19805:vendor/etc/libnfc-nxp.conf
odm/etc/nfc/libnfc-nci.conf_19805:vendor/etc/libnfc-nci.conf
odm/etc/nfc/sn100u.bin_sn100t_fw_01_10_53:vendor/firmware/sn100u.bin
# OMX
vendor/lib/libOmxAacDec.so
vendor/lib/libOmxAlacDec.so
vendor/lib/libOmxAmrDec.so
vendor/lib/libOmxAmrwbplusDec.so
vendor/lib/libOmxApeDec.so
vendor/lib/libOmxDsdDec.so
vendor/lib/libOmxEvrcDec.so
vendor/lib/libOmxG711Dec.so
vendor/lib/libOmxQcelp13Dec.so
vendor/lib/libOmxVideoDSMode.so
vendor/lib/libOmxVpp.so
vendor/lib/libOmxWmaDec.so
vendor/lib/libdsd2pcm.so
vendor/lib64/libOmxAacDec.so
vendor/lib64/libOmxAlacDec.so
vendor/lib64/libOmxAmrDec.so
vendor/lib64/libOmxAmrwbplusDec.so
vendor/lib64/libOmxApeDec.so
vendor/lib64/libOmxEvrcDec.so
vendor/lib64/libOmxG711Dec.so
vendor/lib64/libOmxQcelp13Dec.so
vendor/lib64/libOmxVpp.so
vendor/lib64/libOmxWmaDec.so
# Osense
odm/lib64/libosenseaidlhalclient.so
odm/lib64/libosensehalclient.so
@@ -941,7 +1000,7 @@ vendor/lib64/libqti-perfd.so
vendor/lib64/libqti-util.so
# Power-off alarm (system) - from IN2025 13.1.0.590(EX01)
product/app/PowerOffAlarm/PowerOffAlarm.apk|5928b0a09b559a33f08ad2f04603a5c70fd3493b|20e879792a83ba488a9cfdf6273c970f670b7e35
product/app/PowerOffAlarm/PowerOffAlarm.apk|5928b0a09b559a33f08ad2f04603a5c70fd3493b|6b8aa2a6b6feaa2da0f45be0a9a8147f46f10f50
system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar|1cef4c9f6193022d8410e21513f36687cab0e0f2
# Power-off alarm (vendor)
@@ -1013,7 +1072,6 @@ system_ext/framework/qcrilhook.jar
system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
vendor/app/IWlanService/IWlanService.apk
vendor/bin/hw/qcrild
vendor/bin/ATFWD-daemon
vendor/bin/adpl
vendor/bin/init.mdm.sh
vendor/bin/ks
@@ -1040,7 +1098,6 @@ vendor/etc/init/shsusrd.rc
vendor/etc/init/ssgtzd.rc
vendor/etc/init/vendor.qti.rmt_storage.rc
vendor/etc/init/vendor.qti.tftp.rc
vendor/etc/seccomp_policy/atfwd@2.0.policy
vendor/etc/ssg/ta_config.json
vendor/etc/ssg/tz_whitelist.json
vendor/lib/libconfigdb.so
@@ -1078,7 +1135,6 @@ vendor/lib64/qtibus.so
vendor/lib64/qtimutex.so
vendor/lib64/vendor.oplus.hardware.radio-V2-ndk_platform.so
vendor/lib64/vendor.qti.hardware.radio.am@1.0.so
vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so
vendor/lib64/vendor.qti.hardware.radio.internal.deviceinfo@1.0.so
vendor/lib64/vendor.qti.hardware.radio.lpa@1.0.so
vendor/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so
@@ -1148,6 +1204,7 @@ vendor/etc/sensors/config/kona_qrd_tmd2725_0.json
vendor/etc/sensors/config/kona_sx932x_0.json
vendor/etc/sensors/config/lps22hh_0.json
vendor/etc/sensors/config/mmc5603nj.json
vendor/etc/sensors/config/pah_813x_0_reg.json
vendor/etc/sensors/config/sns_amd.json
vendor/etc/sensors/config/sns_amd_sw_disabled.json
vendor/etc/sensors/config/sns_amd_sw_enabled.json
@@ -1162,6 +1219,7 @@ vendor/etc/sensors/config/sns_cm.json
vendor/etc/sensors/config/sns_dae.json
vendor/etc/sensors/config/sns_device_orient.json
vendor/etc/sensors/config/sns_diag_filter.json
vendor/etc/sensors/config/sns_direct_channel.json
vendor/etc/sensors/config/sns_distance_bound.json
vendor/etc/sensors/config/sns_dpc.json
vendor/etc/sensors/config/sns_facing.json
@@ -1184,6 +1242,27 @@ vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/sns_wrist_pedo.json
vendor/etc/sensors/config/stk3x5x_0.json
vendor/etc/sensors/config/sx932x_0.json
vendor/etc/sensors/config/sxr2130_bma4_0.json
vendor/etc/sensors/config/sxr2130_bmg160_0.json
vendor/etc/sensors/config/sxr2130_llcm.json
vendor/etc/sensors/config/sxr2130_morpheus_icm4x6xx_0.json
vendor/etc/sensors/config/sxr2130_morpheus_ndi_atraxa_0.json
vendor/etc/sensors/config/sxr2130_morpheus_rpr0521rs_0.json
vendor/etc/sensors/config/sxr2130_morpheus_sku3_ak994x_0.json
vendor/etc/sensors/config/sxr2130_morpheus_sku3_icm4x6xx_0.json
vendor/etc/sensors/config/sxr2130_morpheus_sku3_icm4x6xx_1.json
vendor/etc/sensors/config/sxr2130_oracle_ak991x_0.json
vendor/etc/sensors/config/sxr2130_oracle_icm4x6xx_0.json
vendor/etc/sensors/config/sxr2130_oracle_icm4x6xx_1.json
vendor/etc/sensors/config/sxr2130_oracle_pah_813x_0.json
vendor/etc/sensors/config/sxr2130_oracle_rpr0521rs_0.json
vendor/etc/sensors/config/sxr2130_oracle_tsl2540.json
vendor/etc/sensors/config/sxr2130_sns_amd_sw_enabled.json
vendor/etc/sensors/config/sxr2130_sns_dae.json
vendor/etc/sensors/config/sxr2130_sns_tilt_sw_enabled.json
vendor/etc/sensors/config/sxr2130_trinity_icm4x6xx_0.json
vendor/etc/sensors/config/sxr2130_trinity_ndi_atraxa_0.json
vendor/etc/sensors/config/sxr2130_trinity_rpr0521rs_0.json
vendor/etc/sensors/config/tcs3408.json
vendor/etc/sensors/config/tcs3701.json
vendor/etc/sensors/config/wigig_sensing_0.json
@@ -1198,12 +1277,12 @@ vendor/lib64/libsnsapi.so
vendor/lib64/libsnsdiaglog.so
vendor/lib64/libssc.so
vendor/lib64/libssc_default_listener.so
vendor/lib64/sensors.ssc.so|b0bb87ad34a618851bd3dc8a377b2dde1e4e2fe0|7435f65e41d94ddfe060a9f3000083f48333296d
vendor/lib64/sensors.ssc.so|073bf1ad552b1615177b24aebda0668cc3f5d7fc|d1ceee93b0135646cbe8a49dfe0e33017c1c0605
vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so
# Snapdragon Computer Vision Engine
vendor/lib/libfastcvdsp_stub.so
-vendor/lib/libfastcvopt.so
vendor/lib/libfastcvopt.so
vendor/lib/libscveCommon.so
vendor/lib/libscveCommon_stub.so
vendor/lib/libscveObjectSegmentation.so
@@ -1211,7 +1290,7 @@ vendor/lib/libscveObjectSegmentation_stub.so
vendor/lib/libscveObjectTracker.so
vendor/lib/libscveObjectTracker_stub.so
vendor/lib64/libfastcvdsp_stub.so
-vendor/lib64/libfastcvopt.so
vendor/lib64/libfastcvopt.so
vendor/lib64/libscveCommon.so
vendor/lib64/libscveCommon_stub.so
vendor/lib64/libscveObjectSegmentation.so
@@ -1229,8 +1308,8 @@ vendor/lib64/vendor.qti.hardware.soter@1.0.so
vendor/bin/thermal-engine
vendor/etc/init/init_thermal-engine.rc
vendor/etc/thermal-engine.conf
-vendor/lib/libthermalclient.so
-vendor/lib64/libthermalclient.so
vendor/lib/libthermalclient.so
vendor/lib64/libthermalclient.so
# Time services
vendor/app/TimeService/TimeService.apk
@@ -2510,51 +2589,34 @@ vendor/bin/cnss-daemon
vendor/etc/wifi/p2p_supplicant_overlay.conf
vendor/etc/wifi/wpa_supplicant_overlay.conf
# WiFi Display (system)
system/framework/WfdCommon.jar
system_ext/bin/wfdservice
system_ext/etc/init/wfdservice.rc
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml
system_ext/etc/seccomp_policy/wfdservice.policy
system_ext/etc/wfdconfigsink.xml
system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
system_ext/lib/libmmrtpdecoder.so
system_ext/lib/libmmrtpencoder.so
system_ext/lib/libwfdavenhancements.so
system_ext/lib/libwfdclient.so
system_ext/lib/libwfdcommonutils.so
system_ext/lib/libwfdconfigutils.so
system_ext/lib/libwfddisplayconfig.so
system_ext/lib/libwfdmminterface.so
system_ext/lib/libwfdmmsink.so
system_ext/lib/libwfdmmsrc_system.so
system_ext/lib/libwfdrtsp.so
system_ext/lib/libwfdservice.so
system_ext/lib/libwfdsinksm.so
system_ext/lib/libwfduibcinterface.so
system_ext/lib/libwfduibcsink.so
system_ext/lib/libwfduibcsinkinterface.so
system_ext/lib/libwfduibcsrc.so
system_ext/lib/libwfduibcsrcinterface.so
system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so
system_ext/lib64/libmmparser_lite.so
system_ext/lib64/libmmrtpdecoder.so
system_ext/lib64/libmmrtpencoder.so
system_ext/lib64/libwfdclient.so
system_ext/lib64/libwfdcommonutils.so
system_ext/lib64/libwfdconfigutils.so
system_ext/lib64/libwfddisplayconfig.so
system_ext/lib64/libwfdmminterface.so
system_ext/lib64/libwfdmmsink.so
system_ext/lib64/libwfdnative.so
system_ext/lib64/libwfdrtsp.so
system_ext/lib64/libwfdsinksm.so
system_ext/lib64/libwfduibcinterface.so
system_ext/lib64/libwfduibcsink.so
system_ext/lib64/libwfduibcsinkinterface.so
system_ext/lib64/libwfduibcsrc.so
system_ext/lib64/libwfduibcsrcinterface.so
system_ext/priv-app/WfdService/WfdService.apk
# WiFi Display (system) - from dada OS2.0.217.0.WOCMIXM
system/framework/WfdCommon.jar;BOOT_JAR|76fab5ed43206989057284fa26e8b894f1da102f
system_ext/bin/wfdservice64:system_ext/bin/wfdservice|34851904d02d11d3cfebbc7b8745a9444ba3e7c5
system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|6669d5ee462c981663b8ac573d84d334e4eed96c
system_ext/etc/seccomp_policy/wfdservice64.policy|1e331272649395423b11c575892e0bdc9433b820
system_ext/lib64/libmmrtpdecoder.so|8b143c0b004a2f5ab8d7911dd463de0ceea794e7
system_ext/lib64/libmmrtpencoder.so|eef3f64e6c2892fc0c87e176f5a83f7fe07761d3
system_ext/lib64/libwfdavenhancements.so|8c968c6930e44901ef8c6abd6356f2308600d90e
system_ext/lib64/libwfdclient.so|2d1bf9b010ecfb8532eaf6a12c8bf60f9e8ffe08
system_ext/lib64/libwfdcommonutils.so|3ae375016a9551e51f26710e8b07d20eeef2b76f
system_ext/lib64/libwfdconfigutils.so|4d8200cc4c455f54fcbce927f5cabeb7b591f5d0
system_ext/lib64/libwfddisplayconfig.so|27f5d6e284edf05cc7776e5be010912973000ab9
system_ext/lib64/libwfdmminterface.so|8d3d493fef797aef2feaab4e09e50250ddf5dc9a
system_ext/lib64/libwfdmmsink.so|4569ce9941eb5d06db599146ed80b8a32d7cd97f
system_ext/lib64/libwfdmmsrc_system.so|0cc970954800566baddbf760b153b027940180f5
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|9513bbbd813dd05fb063d3c9e72640a1bc9156c2
system_ext/lib64/libwfdrtsp.so|1ab4fc5b75d25f551df3593d5856e6f7893a4176
system_ext/lib64/libwfdservice.so|af0e31f17ed997a5d8bad64cdad486be28cb9f07
system_ext/lib64/libwfdsinksm.so|cc899b719fa11d844c65908d7fdc18600451324d
system_ext/lib64/libwfduibcinterface.so|432d54b072d8f1c80409b6e11f4f833ca9576937
system_ext/lib64/libwfduibcsink.so|d12b05bbcefdff6addc2c31567a656b7540d7489
system_ext/lib64/libwfduibcsinkinterface.so|a41b4d1fa4307a247b1f059a5b5cdf7f6a645db3
system_ext/lib64/libwfduibcsrc.so|5be7d282be9ab45297bd030f8e37a45f48aa8677
system_ext/lib64/libwfduibcsrcinterface.so|0e32acc87c8518e8ebb44f6ef341a2e278e1e7c2
system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|2b2563450ad6a8d46d5648b97f63f87c5d9983ca
system_ext/lib64/vendor.qti.hardware.wifidisplaysession_aidl-V1-ndk.so|58cd9358df40aa16ddf0e603b736c58588623b9e
system_ext/priv-app/WfdService/WfdService.apk|b8a1d9f83804d274fab6e09e0607082801207f60
# WiFi Display (vendor)
vendor/bin/wfdhdcphalservice
@@ -2570,7 +2632,7 @@ vendor/etc/ArmHDCP_QTI_Android.cfg
vendor/etc/wfdconfig.xml
vendor/lib/libFileMux_proprietary.so
vendor/lib/libmm-hdcpmgr.so
vendor/lib/libmmosal.so
vendor/lib/libmmosal.so;MODULE_SUFFIX=_vendor
vendor/lib/libmmrtpdecoder_proprietary.so
vendor/lib/libmmrtpencoder_proprietary.so
vendor/lib/libwfdcodecv4l2_proprietary.so
@@ -2593,5 +2655,5 @@ vendor/lib/libwfduibcsinkinterface_proprietary.so
vendor/lib/libwfduibcsrc_proprietary.so
vendor/lib/libwfduibcsrcinterface_proprietary.so
vendor/lib/libwfdutils_proprietary.so
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so;MODULE_SUFFIX=_vendor
vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so

View File

@@ -1,21 +0,0 @@
# device specific syscalls
# extension of services/mediacodec/minijail/seccomp_policy/mediacodec-seccomp-arm.policy
pselect6: 1
eventfd2: 1
sendto: 1
recvfrom: 1
_llseek: 1
sysinfo: 1
getcwd: 1
getdents64: 1
ARM_cacheflush: 1
inotify_init1: 1
inotify_add_watch: 1
inotify_rm_watch: 1
uname: 1
ueventd: 1
timer_create: 1
timer_settime: 1
rt_sigtimedwait: 1
readlink: 1
open: 1

1
setup-makefiles.py Executable file
View File

@@ -0,0 +1 @@
#!./extract-files.py --regenerate_makefiles

View File

@@ -1,52 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
set -e
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Initialize the helper for common
setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true
# Warning headers and guards
write_headers "instantnoodle instantnoodlep kebab lemonades"
# The standard common blobs
write_makefiles "${MY_DIR}/proprietary-files.txt" true
# Finish
write_footers
if [ -s "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" ]; then
# Reinitialize the helper for device
source "${MY_DIR}/../../${VENDOR}/${DEVICE}/setup-makefiles.sh"
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false
# Warning headers and guards
write_headers
# The standard device blobs
write_makefiles "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" true
if [ -f "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt" ]; then
append_firmware_calls_to_makefiles "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt"
fi
# Finish
write_footers
fi

View File

@@ -14,6 +14,13 @@ debug.sf.latch_unsignaled=1
# CNE
persist.vendor.cne.feature=1
# Dalvik
dalvik.vm.dex2oat64.enabled=true
# Camera
persist.camera.privapp.list=com.oneplus.camera
persist.vendor.camera.privapp.list=com.oneplus.camera
# DPM
persist.vendor.dpm.feature=9

View File

@@ -119,6 +119,8 @@ vendor.qcom.bluetooth.soc=hastings
# Camera
vendor.camera.aux.packageexcludelist=org.telegram.messenger,org.thunderdog.challegram,us.zoom.videomeetings
vendor.camera.algo.jpeghwencode=0
vendor.camera.aux.packagelist=android,com.oneplus.camera
# Chipset
ro.soc.manufacturer=QTI
@@ -127,6 +129,19 @@ ro.soc.model=SM8250
# Crypto
ro.crypto.volume.filenames_mode=aes-256-cts
# Dolby
vendor.audio.dolby.ds2.enabled=false
vendor.audio.dolby.ds2.hardbypass=false
ro.vendor.dolby.dax.version=DAX3_3.6.0.12_r1
ro.vendor.dolby.model=PAFM00
ro.vendor.dolby.device=OP46C3
ro.vendor.dolby.manufacturer=OPLUS
ro.vendor.dolby.brand=OPLUS
# DPM
persist.vendor.dpm.idletimer.mode=default
persist.vendor.dpmhalservice.enable=1
# Display
vendor.display.disable_hw_recovery_dump=1
vendor.display.disable_offline_rotator=1
@@ -160,7 +175,6 @@ persist.sys.fuse.passthrough.enable=true
vendor.gatekeeper.disable_spu=true
# Graphics
debug.sf.disable_backpressure=1
debug.sf.enable_advanced_sf_phase_offset=1
debug.sf.enable_gl_backpressure=1
debug.sf.high_fps_early_gl_phase_offset_ns=-2000000
@@ -185,6 +199,9 @@ vendor.opengles.version=196610
# Incremental FS
ro.incremental.enable=yes
# Media
debug.stagefright.c2inputsurface=-1
# Netflix
ro.netflix.bsp_rev=Q8250-19134-1
@@ -202,20 +219,44 @@ persist.vendor.radio.procedure_bytes=SKIP
persist.vendor.radio.rat_on=combine
persist.vendor.radio.sib16_support=1
ro.telephony.default_network=33,33
persist.data.iwlan.enable=true
persist.dbg.ims_volte_enable=1
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
persist.dbg.wfc_avail_ovr=1
persist.radio.rat_on=combine
persist.radio.data_ltd_sys_ind=1
persist.radio.data_con_rprt=1
persist.radio.calls.on.ims=1
persist.dbg.ims_volte_enable=1
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
persist.dbg.wfc_avail_ovr=1
persist.data.iwlan=1
persist.data.iwlan.ipsec.ap=1
persist.radio.volte.dan_support=true
persist.radio.rat_on=combine
persist.radio.data_ltd_sys_ind=1
persist.radio.data_con_rprt=1
persist.radio.calls.on.ims=1
persist.radio.VT_ENABLE=1
persist.sys.cust.lte_config=true
persist.rcs.supported=1
# Sensors
persist.vendor.sensors.allow_non_default_discovery=true
persist.vendor.sensors.sync_request=true
# USB
sys.usb.mtp.batchcancel=1
vendor.usb.diag.func.name=diag
vendor.usb.dpl.inst.name=dpl
vendor.usb.qdss.inst.name=qdss
vendor.usb.rmnet.func.name=gsi
vendor.usb.rmnet.inst.name=rmnet
vendor.usb.rndis.func.name=gsi
vendor.usb.use_ffs_mtp=0
vendor.usb.use_gadget_hal=0
vendor.usb.use_ffs_mtp=1
vendor.usb.use_gadget_hal=1
# WiFi
wifi.aware.interface=wifi-aware0