From: Kostya Shishkov Date: Tue, 24 Jun 2025 15:45:59 +0000 (+0200) Subject: h264: ignore some bits in the avcC box X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=344e803e6651acd349bb31d325e4668017309956;p=nihav.git h264: ignore some bits in the avcC box Apparently some encoders do not bother about setting them to all ones. --- diff --git a/nihav-itu/src/codecs/h264/decoder_mt.rs b/nihav-itu/src/codecs/h264/decoder_mt.rs index b110207..118ba85 100644 --- a/nihav-itu/src/codecs/h264/decoder_mt.rs +++ b/nihav-itu/src/codecs/h264/decoder_mt.rs @@ -739,10 +739,10 @@ impl NADecoderMT for H264MTDecoder { let _compatibility = br.read_byte()?; let _level = br.read_byte()?; let b = br.read_byte()?; - validate!((b & 0xFC) == 0xFC); + //validate!((b & 0xFC) == 0xFC); self.nal_len = (b & 3) + 1; let b = br.read_byte()?; - validate!((b & 0xE0) == 0xE0); + //validate!((b & 0xE0) == 0xE0); let num_sps = (b & 0x1F) as usize; for _ in 0..num_sps { let len = br.read_u16be()? as usize; diff --git a/nihav-itu/src/codecs/h264/decoder_st.rs b/nihav-itu/src/codecs/h264/decoder_st.rs index e9983ec..c82d62e 100644 --- a/nihav-itu/src/codecs/h264/decoder_st.rs +++ b/nihav-itu/src/codecs/h264/decoder_st.rs @@ -737,10 +737,10 @@ impl NADecoder for H264Decoder { let _compatibility = br.read_byte()?; let _level = br.read_byte()?; let b = br.read_byte()?; - validate!((b & 0xFC) == 0xFC); + //validate!((b & 0xFC) == 0xFC); self.nal_len = (b & 3) + 1; let b = br.read_byte()?; - validate!((b & 0xE0) == 0xE0); + //validate!((b & 0xE0) == 0xE0); let num_sps = (b & 0x1F) as usize; for _ in 0..num_sps { let len = br.read_u16be()? as usize;