Remove several decoders from the whitelist based on some user-reported issues

This commit is contained in:
Cameron Gutman 2016-01-02 18:16:12 -06:00
parent 46c5eaf0e1
commit ee1a047cde

View File

@ -76,14 +76,31 @@ public class MediaCodecHelper {
constrainedHighProfilePrefixes = new LinkedList<String>(); constrainedHighProfilePrefixes = new LinkedList<String>();
constrainedHighProfilePrefixes.add("omx.intel"); constrainedHighProfilePrefixes.add("omx.intel");
}
static {
whitelistedHevcDecoders = new LinkedList<>(); whitelistedHevcDecoders = new LinkedList<>();
// Exynos seems to be the only HEVC decoder that works reliably
whitelistedHevcDecoders.add("omx.exynos"); whitelistedHevcDecoders.add("omx.exynos");
// whitelistedHevcDecoders.add("omx.nvidia"); TODO: This needs a similar fixup to the Tegra 3
whitelistedHevcDecoders.add("omx.mtk"); // TODO: This needs a similar fixup to the Tegra 3 otherwise it buffers 16 frames
whitelistedHevcDecoders.add("omx.amlogic"); //whitelistedHevcDecoders.add("omx.nvidia");
whitelistedHevcDecoders.add("omx.rk");
// omx.qcom added conditionally during initialization // Sony ATVs have broken MediaTek codecs (decoder hangs after rendering the first frame).
// I know the Fire TV 2 works, so I'll just whitelist Amazon devices which seem
// to actually be tested. Ugh...
if (Build.MANUFACTURER.equalsIgnoreCase("Amazon")) {
whitelistedHevcDecoders.add("omx.mtk");
}
// These theoretically have good HEVC decoding capabilities (potentially better than
// their AVC decoders), but haven't been tested enough
//whitelistedHevcDecoders.add("omx.amlogic");
//whitelistedHevcDecoders.add("omx.rk");
// Based on GPU attributes queried at runtime, the omx.qcom prefix will be added
// during initialization to avoid SoCs with broken HEVC decoders.
} }
public static void initializeWithContext(Context context) { public static void initializeWithContext(Context context) {