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 zcmeyj+3M|PE8YNaW)=|!4h{~6tsS2x^2SY0VLURuN0n1xV)aXAm7GtTwV4{2z>JA% zYnZ_d2Q4=iFk>ByB3NYdDpQT={55<$i`h8DK{Auyw`xq^U&E)cIZ%ENSjlDqdb*G#kV=8zzE`=52=RJ<68IxH&^7X28(QdUsVWp)aHqW zi4exu(gcW9MEMl3fz#(lF=|ZSuz_#$oV72Rm{oH=ft>&rk)FoNfhrO??Y; zVXy}_yPn)H0MfDjo(f|zBZxJ*=Z?u{>sx*h`JOwA!IpqU(;j>SE7=_XNJ+5%@K=Mg zQuR*ePi=jU^1nwVi~?`%znv!51QX)RM|Wsv=8)SA1gVy^P;*^RF&f7*tGmNzVlEvc$Y6hHcj zd)JDs4?MGOJKwb3vN-P#EBlK@O?kU^%+{0tuUk`c*;I9<>=eCX)s;UZ*D;sG?z^{B z+In+Ped_(*Plmf@=N)^dcPm-He*ODTH-3E5jo7!=k9pVP?sp=2OEU6wE<`<47uRhQ zo6G(72AeKN(=CIk7b>^3EP4>AUAeM%){41$?h|W;=dQQhBxS?W%Gr0v=e~OXwYJ%& zU%mF^t)ooi6=7aqpd#54q>BUXbo0p14Ig><@3mTh$GRyc6T6 zU(C7XTKV8j(XL6WUTWQP2zO>*-}tXqdd^XyXo5reM^}OdPxB)4Yy@Y zbx)mt^2JB4w8J>)g+hO3{ujXczOI6;3v_Yi4_EadR10esqkxb#{4a;m)40TZ^0P_w4FkowCSkUrhHwH=b2p z^A-j&T;O7lZry2hX6lYjG3O_|JTq+vSC>hTZ|t6(3a3Tu?<;*+^Mf@xc6;!zy1X|F zw*0+w=jcN|Bkv&YZ^a_-H*GfExVihb)rsb#B6|{#|BS6EbX3py%hvOVZy(R9%g+6e zGr6DUXoy_wKiIll;9Pw@*XA0jh0i1<{(k20)xRKBC3xtkW$vQz7cy0%dVi*iERJWq zC0!tpf9d;&JyY*3+WjKep^ksU{pIQ}wl{oH^sAflR z*whl%_?5Ch)Ve-}RunTXV!T+#eW<=EXzq5tw|#g1FU)Edzjf))9JPnW9UJQ-wv@g8 zs5)`$Bti4F20x6-dF={j*Svg?!n&Pd84GX0hg;1xv8jqnHVM^xSN%xy_`mz^p5+X? z>b=eHGkz@(fAsfV`<5hm|II(;+S`M-9IIi{vOoI!{)TVm84v6i%$cA0>+{x`qG}?$ zCcHmv_aw=rxBkR;=G+(B8Z`|0P758gR@Wc=zN6t)^PctBXIe~rp`)P7bNBAyxei73 zj^_4v&a$ss_IBaQMQgvZ?{Js9u=@C}pC^UF*?q75?6R$|N{ZX^cIKpz%0D^$OH-GY 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 M%XY4ckAZ;!0OxT2fB*mh 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