From 3de86f15afee1c388acee1664dbbaefaf5cb826e Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 11 Feb 2023 14:26:54 -0600 Subject: [PATCH] Disable HEVC RFI on platforms with older Tegra BSPs Fixes #1177 --- .../com/limelight/binding/video/MediaCodecHelper.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java index dac67f87..a092cab7 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -356,7 +356,14 @@ public class MediaCodecHelper { if (configInfo.reqGlEsVersion >= 0x30000) { LimeLog.info("Added omx.nvidia/c2.nvidia to reference frame invalidation support list"); refFrameInvalidationAvcPrefixes.add("omx.nvidia"); - refFrameInvalidationHevcPrefixes.add("omx.nvidia"); + + // Exclude HEVC RFI on Pixel C and Tegra devices prior to Android 11. Misbehaving RFI + // on these devices can cause hundreds of milliseconds of latency, so it's not worth + // using it unless we're absolutely sure that it will not cause increased latency. + if (!Build.DEVICE.equalsIgnoreCase("dragon") && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + refFrameInvalidationHevcPrefixes.add("omx.nvidia"); + } + refFrameInvalidationAvcPrefixes.add("c2.nvidia"); // Unconfirmed refFrameInvalidationHevcPrefixes.add("c2.nvidia"); // Unconfirmed