X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fh263%2Fdecoder.rs;h=85d9eeaa5cbe510935c4273571b8ee710e45f30a;hb=5a3ac1b7ad4ea52f43b0464ecedffdad9db643fe;hp=cba6ef9b0c556b5d49dab3aed19b16b12b44eea4;hpb=7b6e074c65b00ec9f68ed47ca1d63ad6951e2a15;p=nihav.git diff --git a/src/codecs/h263/decoder.rs b/src/codecs/h263/decoder.rs index cba6ef9..85d9eea 100644 --- a/src/codecs/h263/decoder.rs +++ b/src/codecs/h263/decoder.rs @@ -365,9 +365,15 @@ impl H263BaseDecoder { bdsp.idct(&mut blk[i]); } blockdsp::add_blocks(&mut buf, mb_x, mb_y, &blk); + if is_b { + mvi2.set_zero_mv(mb_x); + } } else if binfo.mode != Type::B { self.mv_data.push(BlockMVInfo::Inter_1MV(ZERO_MV)); mvi.set_zero_mv(mb_x); + if is_b { + mvi2.set_zero_mv(mb_x); + } if let Some(ref srcbuf) = self.ipbs.get_lastref() { bdsp.copy_blocks(&mut buf, srcbuf, mb_x * 16, mb_y * 16, 16, 16, ZERO_MV); } @@ -483,6 +489,9 @@ impl H263BaseDecoder { } } mvi.update_row(); + if is_b { + mvi2.update_row(); + } cbpi.update_row(); sstate.new_row(); }