rv10: new versions are all above zero
[nihav.git] / nihav-realmedia / src / codecs / rv10.rs
index 7cfc4c360a2d8277a8cae02e9bfc47229700a15f..f3608174fab39cc7cf5bf949ffe8dc84734b3dec 100644 (file)
@@ -258,6 +258,7 @@ impl<'a> BlockDecoder for RealVideo10BR<'a> {
                     if dquant {
                         let idx = br.read(2)? as usize;
                         q = ((q as i16) + (H263_DQUANT_TAB[idx] as i16)) as u8;
+                        validate!(q < 32);
                     }
                     Ok(BlockInfo::new(Type::I, cbp, q))
                 },
@@ -276,6 +277,7 @@ impl<'a> BlockDecoder for RealVideo10BR<'a> {
                         if dquant {
                             let idx = br.read(2)? as usize;
                             q = ((q as i16) + (H263_DQUANT_TAB[idx] as i16)) as u8;
+                            validate!(q < 32);
                         }
                         let binfo = BlockInfo::new(Type::I, cbp, q);
                         return Ok(binfo);
@@ -289,6 +291,7 @@ impl<'a> BlockDecoder for RealVideo10BR<'a> {
                     if dquant {
                         let idx = br.read(2)? as usize;
                         q = ((q as i16) + (H263_DQUANT_TAB[idx] as i16)) as u8;
+                        validate!(q < 32);
                     }
                     let mut binfo = BlockInfo::new(Type::P, cbp, q);
                     if !is_4x4 {
@@ -430,7 +433,7 @@ impl NADecoder for RealVideo10Decoder {
             let mic_ver = ver & 0xFF;
 println!("ver {:06X} -> {}", ver, mic_ver);
             validate!(maj_ver == 1);
-            self.new_ver = mic_ver > 1;
+            self.new_ver = mic_ver > 0;
             if mic_ver == 2 {
                 self.dec = H263BaseDecoder::new_with_opts(H263DEC_OPT_HAS_OBMC);
             }