X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-codec-support%2Fsrc%2Fcodecs%2Fh263%2Fdecoder.rs;h=02d6075aa1d04aece3534a13304804f04b862779;hb=b7e1f972b14c46910e572508964b53a94298c7d8;hp=7a888821576d1ade73f60bce064ebc1debeb1fab;hpb=401b2b60a38e3eb19ae19aee9e652f7c8c0cf6f8;p=nihav.git diff --git a/nihav-codec-support/src/codecs/h263/decoder.rs b/nihav-codec-support/src/codecs/h263/decoder.rs index 7a88882..02d6075 100644 --- a/nihav-codec-support/src/codecs/h263/decoder.rs +++ b/nihav-codec-support/src/codecs/h263/decoder.rs @@ -213,6 +213,10 @@ impl H263BaseDecoder { } let is_b = pinfo.mode == Type::B; + if is_b && (self.mv_data.len() < self.mb_w * self.mb_h) { + return Err(DecoderError::MissingReference); + } + let tsdiff = if pinfo.is_pb() { pinfo.ts.wrapping_sub(self.last_ts) >> 1 } else { self.last_ts.wrapping_sub(self.next_ts) >> 1 }; let bsdiff = if pinfo.is_pb() { (pinfo.get_pbinfo().get_trb() as u16) << 7 }