From fc5495f1eca5dcdeb6967e3acc1a437ab52a601c Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 18 Apr 2021 14:17:26 -0500 Subject: [PATCH] Add vendor low latency option for Exynos --- .../com/limelight/binding/video/MediaCodecHelper.java | 11 +++++++++++ 1 file changed, 11 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 f097f0d4..d4dac4df 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -41,6 +41,7 @@ public class MediaCodecHelper { private static final List blacklisted59FpsDecoderPrefixes; private static final List qualcommDecoderPrefixes; private static final List kirinDecoderPrefixes; + private static final List exynosDecoderPrefixes; public static final boolean IS_EMULATOR = Build.HARDWARE.equals("ranchu") || Build.HARDWARE.equals("cheets"); @@ -214,6 +215,12 @@ public class MediaCodecHelper { kirinDecoderPrefixes.add("omx.hisi"); } + static { + exynosDecoderPrefixes = new LinkedList<>(); + + exynosDecoderPrefixes.add("omx.exynos"); + } + private static boolean isPowerVR(String glRenderer) { return glRenderer.toLowerCase().contains("powervr"); } @@ -416,6 +423,10 @@ public class MediaCodecHelper { videoFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-req", 1); videoFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-rdy", -1); } + else if (isDecoderInList(exynosDecoderPrefixes, decoderInfo.getName())) { + // Exynos low latency option (I think...) + videoFormat.setInteger("vendor.rtc-ext-dec-low-latency.enable", 1); + } } else if (isDecoderInList(qualcommDecoderPrefixes, decoderInfo.getName())) { // This is an older low latency option used on some Qualcomm devices