vp5: fix chroma MV
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 27 Jan 2020 17:14:08 +0000 (18:14 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 27 Jan 2020 17:14:08 +0000 (18:14 +0100)
nihav-duck/src/codecs/vp5.rs

index 1cd6531f9fd444188d08bc4dfdd020ee35ea5ee1..7ba6d2ac70d5322a0bd8ae95e48483e55bb8400f 100644 (file)
@@ -221,7 +221,7 @@ impl VP56Parser for VP5BR {
         let (sx, sy, mx, my) = if (plane != 1) && (plane != 2) {
                 (mv.x >> 1, mv.y >> 1, mv.x & 1, mv.y & 1)
             } else {
-                (mv.x >> 2, mv.y >> 2, (mv.x / 2) & 1, (mv.y / 2) & 1)
+                (mv.x >> 2, mv.y >> 2, if (mv.x & 3) != 0 { 1 } else { 0 }, if (mv.y & 3) != 0 { 1 } else { 0 })
             };
         let mode1 = (mx as usize) + (my as usize) * 2;
         let mode = if (mode1 == 3) && (mv.x ^ mv.y < 0) {