Commit Graph

112 Commits

Author SHA1 Message Date
Cameron Gutman
33d484b7d1 Remove specific RFI opt-in for Sabrina since it's supported out of the box in Android 12 2022-11-13 19:10:35 -06:00
Cameron Gutman
37b9133eb6 Correct media performance class check
Media performance class is 12+ even though it has values for 11+
2022-11-13 13:27:43 -06:00
Cameron Gutman
7f3b0b03a6 Add C2 equivalents for OMX decoders for futureproofing 2022-11-06 18:17:48 -06:00
Cameron Gutman
4a6a39dd4c Disable HEVC RFI on Fire TV 3 due to decoder hangs 2022-11-06 18:13:19 -06:00
Cameron Gutman
2433ce8d24 Fix crashes on Fire OS 8 2022-11-03 23:17:15 -05:00
Cameron Gutman
0ddd8df272 Use HEVC by default if the decoder supports FEATURE_LowLatency or the media performance class is 12+ 2022-10-31 01:05:01 -05:00
TacoTheDank
a96e508ffb Use try-with-resources 2022-10-31 00:33:09 -05:00
Cameron Gutman
3ea2aa1f74 Enable HEVC RFI on Fire TV and Chromecast devices 2022-10-12 21:50:40 -05:00
Cameron Gutman
1076b516d6 Enable HEVC RFI for decoders that support low latency options 2022-10-12 21:25:48 -05:00
Cameron Gutman
d46fab33b3 Enable HEVC RFI for Exynos decoders 2022-10-03 22:23:59 -05:00
Cameron Gutman
585dc45595 Enable RFI for HEVC on Qualcomm and Nvidia decoders 2022-10-03 21:33:05 -05:00
Cameron Gutman
c573d213f8 Allow FFmpeg decoder on Waydroid 2022-09-17 14:51:03 -05:00
Cameron Gutman
3913e845fa Add workaround for MITV4-ANSM0 low latency mode bug
Fixes #1122
2022-09-08 17:43:17 -05:00
Cameron Gutman
0fbb53c606 Remove MediaCodecHelper.getMonotonicMillis() 2022-08-02 18:08:12 -05:00
Cameron Gutman
05311da33d Use 4 slices per frame for software decoders 2022-07-22 20:14:53 -05:00
Cameron Gutman
2e442cb1d1 Only use 4 slices per frame on old Qualcomm devices that benefit from it
Using it everywhere decreases encoding efficiency for no gain in performance
2022-07-22 18:43:59 -05:00
Cameron Gutman
264b6e54f2 Add Codec2 variants in the decoder prefix lists 2022-07-19 23:51:11 -05:00
Cameron Gutman
ce850ac12f Fix crash on Xiaomi MiPad running newer custom ROMs
AVC Decoder: OMX.Nvidia.h264.decode
HEVC Decoder: OMX.Nvidia.h265.decode
AVC supported width range: [32, 3840]
AVC achievable FPS range: [146.0, 149.0]
HEVC supported width range: [32, 528]
HEVC achievable FPS range: UNSUPPORTED!
2022-06-18 15:00:10 -05:00
Cameron Gutman
22b9c9ca68 Use H.264 on Sabrina if possible for lowest latency 2022-06-13 21:40:41 -05:00
Cameron Gutman
c6100a9be1 Catch potential older NVIDIA devices that use partial HEVC acceleration 2022-06-13 19:25:29 -05:00
Cameron Gutman
297ac64fde Enable HEVC on all Shield TV devices 2022-06-06 17:29:47 -05:00
Cameron Gutman
6aac8e6be6 Use amazon.hardware.fire_tv feature to detect Fire TV devices 2022-06-03 19:03:56 -05:00
Cameron Gutman
0b18e8fdb4 Update decoder errata details 2022-06-03 01:39:39 -05:00
Cameron Gutman
19d8ae0f78 Revamp low latency option handling
- Introduce a tiered solution where we try progressively fewer options until one works
- Use vdec-lowlatency for all devices, since we know at least the Fire TV 3 supports it with an Amlogic SoC
- Enable HEVC on Fire TV 3 since vdec-lowlatency avoids the HEVC decoder bug
2022-06-03 01:04:11 -05:00
Cameron Gutman
2859b73dfe Add Amlogic low latency vendor-defined option 2022-06-02 21:02:43 -05:00
Cameron Gutman
6f9021a5e6 Add magic performance boost for MediaTek devices 2022-06-01 22:06:11 -05:00
Cameron Gutman
18c93abcb3 Submit fused IDR frames on decoders that support adaptive playback even if they are blocked from using it 2022-05-29 22:21:15 -05:00
Cameron Gutman
c25faf6426 Replace frame pacing hack with Choreographer-based rendering
This mimics the frame pacing logic now present in the iOS client.
2022-02-17 23:48:02 -06:00
Cameron Gutman
8ac5768f4f Change H.265 to HEVC to match other clients 2021-06-12 11:00:30 -05:00
Cameron Gutman
3f1cd8a118 Use HEVC at 4K on Qualcomm since RFI is temporarily disabled 2021-05-16 20:39:58 -05:00
Cameron Gutman
bb4b5838e3 Enable HEVC on Realtek SoCs 2021-05-16 20:39:00 -05:00
Cameron Gutman
b94649162e Allow compatibility aliases to match preferred decoders 2021-04-27 17:43:19 -05:00
Cameron Gutman
ee50e19dbd Fix use of Android 11 low latency decoding feature 2021-04-27 17:43:04 -05:00
Cameron Gutman
cc23f8b831 Revert vt-low-latency option
Fixes #973
2021-04-26 19:10:07 -05:00
Cameron Gutman
823593ddae Revert "Avoid Amlogic HEVC decoders until the latency issue is understood"
This reverts commit 3600e704c4.
2021-04-19 23:08:20 -05:00
Cameron Gutman
3600e704c4 Avoid Amlogic HEVC decoders until the latency issue is understood 2021-04-19 22:46:55 -05:00
Cameron Gutman
2a5afeb5ff Don't use HEVC on Fire TV 3 2021-04-18 14:42:52 -05:00
Cameron Gutman
fc5495f1ec Add vendor low latency option for Exynos 2021-04-18 14:17:26 -05:00
Cameron Gutman
699cc361a2 Add additional vendor-specific low latency options for Qualcomm and HiSilicon SoCs 2021-04-18 12:49:25 -05:00
Cameron Gutman
54ebd0a796 Fix streaming in the Android 12 emulator 2021-02-27 15:46:59 -06:00
Cameron Gutman
17cf711c3d Don't check brand when whitelisting ranchu for HEVC
HarmonyOS also uses "ranchu" as the hardware name, but doesn't use "google" as the brand name
2020-11-08 20:40:59 -06:00
Cameron Gutman
0fde5d44c0 Enable HEVC for all Amlogic decoders on API 28+ 2020-10-06 21:40:18 -05:00
Cameron Gutman
5c6be7969a Disable max operating rate trick on all Snapdragon 765G devices
Fixes #783
2020-07-26 22:39:10 -07:00
Cameron Gutman
4c5c27dfc1 Re-enable the max operating rate trick on Android 10 except on the Mi 10 Lite 5G
It still provides nice performance gains on Pixel 2 running Android 10
2020-07-10 18:29:29 -07:00
Cameron Gutman
43c67b4939 Avoid using max operating rate on Android Q and non-Qualcomm devices 2020-07-01 11:26:40 -05:00
Cameron Gutman
6de370b82f Update for Android 11 2020-06-10 20:31:32 -07:00
Cameron Gutman
81b6a8a311 Set the vendor.qti-ext-dec-low-latency.enable Qualcomm vendor extension 2020-02-22 17:06:32 -08:00
Cameron Gutman
8c910101c7 Fix Lint errors on API level 16 2020-02-19 23:53:44 -08:00
Cameron Gutman
112d9c41eb Use KEY_LOW_LATENCY to request low-latency decoding on Android R 2020-02-19 23:40:06 -08:00
Cameron Gutman
2b295400ac Avoid using RFI for HEVC on newer MediaTek SoCs 2020-01-02 16:13:19 -06:00