From ed8305b19996820d5fa524e599516f0595742eb5 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 17 Dec 2015 02:23:22 -0800 Subject: [PATCH] Revert "Blacklist the whole device from HEVC decoding if Qualcomm's HEVC hybrid decoder is found" This reverts commit 3c2dd88fd38ab26d8a93f154ba63bb737d2d4c16. --- .../binding/video/MediaCodecHelper.java | 32 +------------------ 1 file changed, 1 insertion(+), 31 deletions(-) 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 ab887027..353e97a2 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -29,9 +29,8 @@ public class MediaCodecHelper { private static final List directSubmitPrefixes; private static final List constrainedHighProfilePrefixes; private static final List whitelistedHevcDecoders; - private static final List hevcDeviceBlacklistingDecoderPrefixes; - static { + static { directSubmitPrefixes = new LinkedList(); // These decoders have low enough input buffer latency that they @@ -45,18 +44,6 @@ public class MediaCodecHelper { directSubmitPrefixes.add("omx.arc"); } - static { - // If we find these decoders present at all, we don't enable HEVC - hevcDeviceBlacklistingDecoderPrefixes = new LinkedList<>(); - - // This decoder appears on some Qualcomm devices prior to Snapdragon 805. It appears - // to be so broken that it crashes some devices or at best shows no video. On these devices - // Qualcomm thought they'd be clever and also expose omx.qcom.video.decoder.hevc (same as - // real hw acceleration SoCs like 805). As a result, we need to blacklist HEVC for ALL codecs - // if we see this codec in the list. - hevcDeviceBlacklistingDecoderPrefixes.add("omx.qcom.video.decoder.hevchybrid"); - } - static { preferredDecoders = new LinkedList(); } @@ -176,11 +163,6 @@ public class MediaCodecHelper { return false; } - // Check for indications that this device has a broken HEVC codec - if (deviceIsHevcBlacklisted()) { - return false; - } - return isDecoderInList(whitelistedHevcDecoders, decoderName); } @@ -246,18 +228,6 @@ public class MediaCodecHelper { return null; } - - public static boolean deviceIsHevcBlacklisted() { - for (MediaCodecInfo codecInfo : getMediaCodecList()) { - // Check for device-blacklisting codecs - if (isDecoderInList(hevcDeviceBlacklistingDecoderPrefixes, codecInfo.getName())) { - LimeLog.info("Decoder blacklists HEVC on entire device! "+codecInfo.getName()); - return true; - } - } - - return false; - } public static MediaCodecInfo findFirstDecoder(String mimeType) { for (MediaCodecInfo codecInfo : getMediaCodecList()) {