aac: clear M/S flags
[nihav.git] / nihav-game / src / codecs / q.rs
index a884950c4135835de7877d469b58d82e2925f264..b282a47fb3ff7ac6e5cae6d25681b1b29ddad68f 100644 (file)
@@ -161,8 +161,8 @@ impl QVideoDecoder {
                         const MV_PART: [i8; 16] = [ 0, 4, 8, 12, 16, 20, 24, 28, -32, -4, -8, -12, -16, -20, -24, -28 ];
 
                         let idx         = br.read_byte()? as usize;
-                        let x = MV_PART[(idx & 0xF) as usize] as isize;
-                        let y = MV_PART[(idx >>  4) as usize] as isize;
+                        let x = MV_PART[idx & 0xF] as isize;
+                        let y = MV_PART[idx >>  4] as isize;
                         let src_off = (tile_off as isize) + x + y * (self.w as isize);
                         validate!(src_off >= 0);
                         validate!((src_off as usize) + self.tile_w + (self.tile_h - 1) * self.w <= self.w * self.h);
@@ -677,6 +677,7 @@ impl NADecoder for QVideoDecoder {
             self.mode = match self.version {
                     4 => 6,
                     5 => 7,
+                    6 => 7,
                     7 => 7,
                     _ => 0,
                 };
@@ -721,7 +722,7 @@ impl NADecoder for QVideoDecoder {
                     }
                     if self.version == 3 {
                         self.decode_frame_v3(&mut br, ctype)?;
-                    } else if self.version < 7 {
+                    } else if self.version < 6 {
                         self.decode_frame_5(&mut br, ctype)?;
                     } else {
                         self.mode = if ctype == 11 { 7 } else { 6 };