From 1e70e1d329c0ee61f1086df16bb6cf6c665c90ba Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 18 Jul 2015 17:06:41 -0700 Subject: [PATCH] GFE 2.5.11 update to fix black screen on Fire TV Stick --- app/libs/limelight-common.jar | Bin 956926 -> 956909 bytes .../video/MediaCodecDecoderRenderer.java | 44 +++++++++++++++--- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/app/libs/limelight-common.jar b/app/libs/limelight-common.jar index d4f623326d184a1896967712ca5ed2128dd7b615..e92cd7098a91ffef8d9fef86e8692a4b3661632e 100644 GIT binary patch delta 9761 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 N0XBknVF2XK{{iQ4{(t}g diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java index 69b9b6dc..e5a286ce 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -486,19 +486,49 @@ public class MediaCodecDecoderRenderer extends EnhancedDecoderRenderer { LimeLog.info("Patching num_ref_frames in SPS"); sps.num_ref_frames = 1; + // GFE 2.5.11 changed the SPS to add additional extensions + // Some devices don't like these so we remove them here. + sps.vuiParams.video_signal_type_present_flag = false; + sps.vuiParams.colour_description_present_flag = false; + sps.vuiParams.colour_primaries = 2; + sps.vuiParams.transfer_characteristics = 2; + sps.vuiParams.matrix_coefficients = 2; + sps.vuiParams.chroma_loc_info_present_flag = false; + sps.vuiParams.chroma_sample_loc_type_bottom_field = 0; + sps.vuiParams.chroma_sample_loc_type_top_field = 0; + if (needsSpsBitstreamFixup || isExynos4) { // The SPS that comes in the current H264 bytestream doesn't set bitstream_restriction_flag // or max_dec_frame_buffering which increases decoding latency on Tegra. - LimeLog.info("Adding bitstream restrictions"); - sps.vuiParams.bitstreamRestriction = new VUIParameters.BitstreamRestriction(); - sps.vuiParams.bitstreamRestriction.motion_vectors_over_pic_boundaries_flag = true; + // GFE 2.5.11 started sending bitstream restrictions + if (sps.vuiParams.bitstreamRestriction == null) { + LimeLog.info("Adding bitstream restrictions"); + sps.vuiParams.bitstreamRestriction = new VUIParameters.BitstreamRestriction(); + sps.vuiParams.bitstreamRestriction.motion_vectors_over_pic_boundaries_flag = true; + sps.vuiParams.bitstreamRestriction.log2_max_mv_length_horizontal = 16; + sps.vuiParams.bitstreamRestriction.log2_max_mv_length_vertical = 16; + sps.vuiParams.bitstreamRestriction.num_reorder_frames = 0; + } + else { + LimeLog.info("Patching bitstream restrictions"); + } + + // Some devices throw errors if max_dec_frame_buffering < num_ref_frames + sps.vuiParams.bitstreamRestriction.max_dec_frame_buffering = sps.num_ref_frames; + + // These values are the defaults for the fields, but they are more aggressive + // than what GFE sends in 2.5.11, but it doesn't seem to cause picture problems. sps.vuiParams.bitstreamRestriction.max_bytes_per_pic_denom = 2; sps.vuiParams.bitstreamRestriction.max_bits_per_mb_denom = 1; - sps.vuiParams.bitstreamRestriction.log2_max_mv_length_horizontal = 16; - sps.vuiParams.bitstreamRestriction.log2_max_mv_length_vertical = 16; - sps.vuiParams.bitstreamRestriction.num_reorder_frames = 0; - sps.vuiParams.bitstreamRestriction.max_dec_frame_buffering = 1; + + // log2_max_mv_length_horizontal and log2_max_mv_length_vertical are set to more + // conservative values by GFE 2.5.11. We'll let those values stand. + } + else { + // Devices that didn't/couldn't get bitstream restrictions before GFE 2.5.11 + // will continue to not receive them now + sps.vuiParams.bitstreamRestriction = null; } // If we need to hack this SPS to say we're baseline, do so now