From a6003f6bffc8a677126dbec20bb2e5ad50b5f1ee Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 11 Oct 2015 16:57:37 -0700 Subject: [PATCH] Remove MediaTek decoders from the decoders that need bitstream restrictions. The correct fix was to lower level_idc to reduce the required buffering. On newer MediaTek chipsets, sending bitstream restrictions actually slows down decoding by a factor of 3. --- .../com/limelight/binding/video/MediaCodecHelper.java | 1 - decoder-errata.txt | 9 ++++++--- 2 files changed, 6 insertions(+), 4 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 daba5c10..a3663089 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecHelper.java @@ -58,7 +58,6 @@ public class MediaCodecHelper { spsFixupBitstreamFixupDecoderPrefixes = new LinkedList(); spsFixupBitstreamFixupDecoderPrefixes.add("omx.nvidia"); spsFixupBitstreamFixupDecoderPrefixes.add("omx.qcom"); - spsFixupBitstreamFixupDecoderPrefixes.add("omx.mtk"); spsFixupBitstreamFixupDecoderPrefixes.add("omx.brcm"); baselineProfileHackPrefixes = new LinkedList(); diff --git a/decoder-errata.txt b/decoder-errata.txt index 621fa198..bf09c560 100644 --- a/decoder-errata.txt +++ b/decoder-errata.txt @@ -12,8 +12,8 @@ This file serves to document some of the decoder errata when using MediaCodec ha 4. Some decoders require num_ref_frames=1 and max_dec_frame_buffering=1 to avoid crashing on SPS on first I-frame - Affected decoders: Qualcomm in GS3 on 4.3+, Exynos 4 at 1080p only -5. Some decoders will hang if max_dec_frame_buffering is not present - - Affected decoders: MediaTek decoder in Fire HD 7 (2014) +5. Some decoders will hang or crash if max_dec_frame_buffering is not present and level_idc is >= 50 + - Affected decoders: MediaTek decoder in Fire HD 6/7 (2014) 6. Some decoders will hang if max_dec_frame_buffering IS present - Affected decoders: Exynos 5 in Galaxy Note 10.1 (2014) @@ -25,4 +25,7 @@ This file serves to document some of the decoder errata when using MediaCodec ha - Affected decoders: Intel decoder in Nexus Player (prior to Android 6.0) 9. Some decoders will not enter low latency mode if the profile isn't constrained high profile because B-frames may be present. - - Affected decoders: Intel decoder in Nexus Player (after Android 6.0) \ No newline at end of file + - Affected decoders: Intel decoder in Nexus Player (after Android 6.0) + +10. Some decoders actually suffer increased latency when max_dec_frame_buffering=1 + - Affected decoders: MediaTek decoder in Fire TV 2015 \ No newline at end of file