From 3ea2aa1f74300f01042e860f941669eaef5d2471 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 12 Oct 2022 21:50:40 -0500 Subject: [PATCH] Enable HEVC RFI on Fire TV and Chromecast devices --- .../com/limelight/binding/video/MediaCodecHelper.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 a7465860..d3ca998f 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -77,6 +77,12 @@ public class MediaCodecHelper { refFrameInvalidationHevcPrefixes.add("omx.exynos"); refFrameInvalidationHevcPrefixes.add("c2.exynos"); + // The Chromecast with Google TV 4K works well with HEVC RFI since we also use the + // vendor.low-latency.enable option. + if (Build.DEVICE.equalsIgnoreCase("sabrina")) { + refFrameInvalidationHevcPrefixes.add("omx.amlogic"); + } + // Qualcomm and NVIDIA may be added at runtime } @@ -312,11 +318,13 @@ public class MediaCodecHelper { if (context.getPackageManager().hasSystemFeature("amazon.hardware.fire_tv") || Build.MANUFACTURER.equalsIgnoreCase("Amazon")) { whitelistedHevcDecoders.add("omx.mtk"); + refFrameInvalidationHevcPrefixes.add("omx.mtk"); // This requires setting vdec-lowlatency on the Fire TV 3, otherwise the decoder // never produces any output frames. See comment above for details on why we only // do this for Fire TV devices. whitelistedHevcDecoders.add("omx.amlogic"); + refFrameInvalidationHevcPrefixes.add("omx.amlogic"); } ActivityManager activityManager =