[FFmpeg-cvslog] Use more accurate conversion for rgb15/16 to rgb24/32 (C/MMX).

Themaister git at videolan.org
Wed Nov 9 02:01:14 CET 2011


ffmpeg | branch: master | Themaister <maister at archlinux.us> | Tue Nov  8 16:16:59 2011 +0100| [0827222b9cecc3bb07b07059716b81f644db9dcc] | committer: Michael Niedermayer

Use more accurate conversion for rgb15/16 to rgb24/32 (C/MMX).
Fate update by michael.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0827222b9cecc3bb07b07059716b81f644db9dcc
---

 libswscale/rgb2rgb.c               |   36 ++--
 libswscale/rgb2rgb_template.c      |   57 ++---
 libswscale/x86/rgb2rgb.c           |    3 +
 libswscale/x86/rgb2rgb_template.c  |   98 ++++-----
 tests/ref/fate/4xm-1               |   30 ++--
 tests/ref/fate/4xm-2               |  320 +++++++++++++-------------
 tests/ref/fate/armovie-escape124   |  200 ++++++++--------
 tests/ref/fate/interplay-mve-16bit |   96 ++++----
 tests/ref/fate/motionpixels        |  220 +++++++++---------
 tests/ref/fate/msvideo1-16bit      |   60 +++---
 tests/ref/fate/mtv                 |   78 +++---
 tests/ref/fate/ptx                 |    2 +-
 tests/ref/fate/qtrle-16bit         |  166 +++++++-------
 tests/ref/fate/rpza                |   60 +++---
 tests/ref/fate/truemotion1-15      |  210 +++++++++---------
 tests/ref/fate/tscc-15bit          |  450 ++++++++++++++++++------------------
 tests/ref/fate/vmnc-16bit          |  384 +++++++++++++++---------------
 17 files changed, 1220 insertions(+), 1250 deletions(-)

diff --git a/libswscale/rgb2rgb.c b/libswscale/rgb2rgb.c
index 9a7f698..adb3005 100644
--- a/libswscale/rgb2rgb.c
+++ b/libswscale/rgb2rgb.c
@@ -171,13 +171,13 @@ void rgb16tobgr32(const uint8_t *src, uint8_t *dst, int src_size)
         bgr = *s++;
 #if HAVE_BIGENDIAN
         *d++ = 255;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0xF800)>>8;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
 #else
-        *d++ = (bgr&0xF800)>>8;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
         *d++ = 255;
 #endif
     }
@@ -192,9 +192,9 @@ void rgb16to24(const uint8_t *src, uint8_t *dst, int src_size)
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0xF800)>>8;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
     }
 }
 
@@ -231,13 +231,13 @@ void rgb15tobgr32(const uint8_t *src, uint8_t *dst, int src_size)
         bgr = *s++;
 #if HAVE_BIGENDIAN
         *d++ = 255;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x7C00)>>7;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
 #else
-        *d++ = (bgr&0x7C00)>>7;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
         *d++ = 255;
 #endif
     }
@@ -252,9 +252,9 @@ void rgb15to24(const uint8_t *src, uint8_t *dst, int src_size)
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x7C00)>>7;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
     }
 }
 
diff --git a/libswscale/rgb2rgb_template.c b/libswscale/rgb2rgb_template.c
index 0734e88..6363bc1 100644
--- a/libswscale/rgb2rgb_template.c
+++ b/libswscale/rgb2rgb_template.c
@@ -227,27 +227,6 @@ static inline void rgb24to15_c(const uint8_t *src, uint8_t *dst, int src_size)
     }
 }
 
-/*
-  I use less accurate approximation here by simply left-shifting the input
-  value and filling the low order bits with zeroes. This method improves PNG
-  compression but this scheme cannot reproduce white exactly, since it does
-  not generate an all-ones maximum value; the net effect is to darken the
-  image slightly.
-
-  The better method should be "left bit replication":
-
-   4 3 2 1 0
-   ---------
-   1 1 0 1 1
-
-   7 6 5 4 3  2 1 0
-   ----------------
-   1 1 0 1 1  1 1 0
-   |=======|  |===|
-       |      leftmost bits repeated to fill open bits
-       |
-   original bits
-*/
 static inline void rgb15tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size)
 {
     const uint16_t *end;
@@ -257,9 +236,9 @@ static inline void rgb15tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x7C00)>>7;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
     }
 }
 
@@ -272,9 +251,9 @@ static inline void rgb16tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0xF800)>>8;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
     }
 }
 
@@ -289,13 +268,13 @@ static inline void rgb15to32_c(const uint8_t *src, uint8_t *dst, int src_size)
         bgr = *s++;
 #if HAVE_BIGENDIAN
         *d++ = 255;
-        *d++ = (bgr&0x7C00)>>7;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
 #else
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x7C00)>>7;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
         *d++ = 255;
 #endif
     }
@@ -312,13 +291,13 @@ static inline void rgb16to32_c(const uint8_t *src, uint8_t *dst, int src_size)
         bgr = *s++;
 #if HAVE_BIGENDIAN
         *d++ = 255;
-        *d++ = (bgr&0xF800)>>8;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0x1F)<<3;
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
 #else
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0xF800)>>8;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
         *d++ = 255;
 #endif
     }
diff --git a/libswscale/x86/rgb2rgb.c b/libswscale/x86/rgb2rgb.c
index ed7f5ad..9359f0b 100644
--- a/libswscale/x86/rgb2rgb.c
+++ b/libswscale/x86/rgb2rgb.c
@@ -68,6 +68,9 @@ DECLARE_ASM_CONST(8, uint64_t, blue_16mask)  = 0x0000001f0000001fULL;
 DECLARE_ASM_CONST(8, uint64_t, red_15mask)   = 0x00007c0000007c00ULL;
 DECLARE_ASM_CONST(8, uint64_t, green_15mask) = 0x000003e0000003e0ULL;
 DECLARE_ASM_CONST(8, uint64_t, blue_15mask)  = 0x0000001f0000001fULL;
+DECLARE_ASM_CONST(8, uint64_t, mul15_mid)    = 0x4200420042004200ULL;
+DECLARE_ASM_CONST(8, uint64_t, mul15_hi)     = 0x0210021002100210ULL;
+DECLARE_ASM_CONST(8, uint64_t, mul16_mid)    = 0x2080208020802080ULL;
 
 #define RGB2YUV_SHIFT 8
 #define BY ((int)( 0.098*(1<<RGB2YUV_SHIFT)+0.5))
diff --git a/libswscale/x86/rgb2rgb_template.c b/libswscale/x86/rgb2rgb_template.c
index baef3f8..3bca43c 100644
--- a/libswscale/x86/rgb2rgb_template.c
+++ b/libswscale/x86/rgb2rgb_template.c
@@ -801,27 +801,6 @@ static inline void RENAME(rgb24to15)(const uint8_t *src, uint8_t *dst, int src_s
     }
 }
 
-/*
-  I use less accurate approximation here by simply left-shifting the input
-  value and filling the low order bits with zeroes. This method improves PNG
-  compression but this scheme cannot reproduce white exactly, since it does
-  not generate an all-ones maximum value; the net effect is to darken the
-  image slightly.
-
-  The better method should be "left bit replication":
-
-   4 3 2 1 0
-   ---------
-   1 1 0 1 1
-
-   7 6 5 4 3  2 1 0
-   ----------------
-   1 1 0 1 1  1 1 0
-   |=======|  |===|
-       |      leftmost bits repeated to fill open bits
-       |
-   original bits
-*/
 static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)
 {
     const uint16_t *end;
@@ -840,9 +819,10 @@ static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $2, %%mm1    \n\t"
-            "psrlq         $7, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "pmulhw        %6, %%mm0    \n\t"
+            "pmulhw        %6, %%mm1    \n\t"
+            "pmulhw        %7, %%mm2    \n\t"
             "movq       %%mm0, %%mm3    \n\t"
             "movq       %%mm1, %%mm4    \n\t"
             "movq       %%mm2, %%mm5    \n\t"
@@ -870,9 +850,10 @@ static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $2, %%mm1    \n\t"
-            "psrlq         $7, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "pmulhw        %6, %%mm0    \n\t"
+            "pmulhw        %6, %%mm1    \n\t"
+            "pmulhw        %7, %%mm2    \n\t"
             "movq       %%mm0, %%mm3    \n\t"
             "movq       %%mm1, %%mm4    \n\t"
             "movq       %%mm2, %%mm5    \n\t"
@@ -892,7 +873,7 @@ static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "por        %%mm5, %%mm3    \n\t"
 
             :"=m"(*d)
-            :"m"(*s),"m"(mask15b),"m"(mask15g),"m"(mask15r), "m"(mmx_null)
+            :"m"(*s),"m"(mask15b),"m"(mask15g),"m"(mask15r),"m"(mmx_null),"m"(mul15_mid),"m"(mul15_hi)
             :"memory");
         /* borrowed 32 to 24 */
         __asm__ volatile(
@@ -919,9 +900,9 @@ static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int sr
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x7C00)>>7;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
     }
 }
 
@@ -943,9 +924,11 @@ static inline void RENAME(rgb16tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $3, %%mm1    \n\t"
-            "psrlq         $8, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "psrlq         $1, %%mm2    \n\t"
+            "pmulhw        %6, %%mm0    \n\t"
+            "pmulhw        %8, %%mm1    \n\t"
+            "pmulhw        %7, %%mm2    \n\t"
             "movq       %%mm0, %%mm3    \n\t"
             "movq       %%mm1, %%mm4    \n\t"
             "movq       %%mm2, %%mm5    \n\t"
@@ -973,9 +956,11 @@ static inline void RENAME(rgb16tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $3, %%mm1    \n\t"
-            "psrlq         $8, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "psrlq         $1, %%mm2    \n\t"
+            "pmulhw        %6, %%mm0    \n\t"
+            "pmulhw        %8, %%mm1    \n\t"
+            "pmulhw        %7, %%mm2    \n\t"
             "movq       %%mm0, %%mm3    \n\t"
             "movq       %%mm1, %%mm4    \n\t"
             "movq       %%mm2, %%mm5    \n\t"
@@ -994,7 +979,7 @@ static inline void RENAME(rgb16tobgr24)(const uint8_t *src, uint8_t *dst, int sr
             "por        %%mm4, %%mm3    \n\t"
             "por        %%mm5, %%mm3    \n\t"
             :"=m"(*d)
-            :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r),"m"(mmx_null)
+            :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r),"m"(mmx_null),"m"(mul15_mid),"m"(mul15_hi),"m"(mul16_mid)
             :"memory");
         /* borrowed 32 to 24 */
         __asm__ volatile(
@@ -1021,9 +1006,9 @@ static inline void RENAME(rgb16tobgr24)(const uint8_t *src, uint8_t *dst, int sr
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0xF800)>>8;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
     }
 }
 
@@ -1066,12 +1051,13 @@ static inline void RENAME(rgb15to32)(const uint8_t *src, uint8_t *dst, int src_s
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $2, %%mm1    \n\t"
-            "psrlq         $7, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "pmulhw        %5, %%mm0    \n\t"
+            "pmulhw        %5, %%mm1    \n\t"
+            "pmulhw        %6, %%mm2    \n\t"
             PACK_RGB32
             :"=m"(*d)
-            :"m"(*s),"m"(mask15b),"m"(mask15g),"m"(mask15r)
+            :"m"(*s),"m"(mask15b),"m"(mask15g),"m"(mask15r),"m"(mul15_mid),"m"(mul15_hi)
             :"memory");
         d += 16;
         s += 4;
@@ -1081,9 +1067,9 @@ static inline void RENAME(rgb15to32)(const uint8_t *src, uint8_t *dst, int src_s
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x3E0)>>2;
-        *d++ = (bgr&0x7C00)>>7;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x3E0)>>2) | ((bgr&0x3E0)>>7);
+        *d++ = ((bgr&0x7C00)>>7) | ((bgr&0x7C00)>>12);
         *d++ = 255;
     }
 }
@@ -1108,12 +1094,14 @@ static inline void RENAME(rgb16to32)(const uint8_t *src, uint8_t *dst, int src_s
             "pand          %2, %%mm0    \n\t"
             "pand          %3, %%mm1    \n\t"
             "pand          %4, %%mm2    \n\t"
-            "psllq         $3, %%mm0    \n\t"
-            "psrlq         $3, %%mm1    \n\t"
-            "psrlq         $8, %%mm2    \n\t"
+            "psllq         $5, %%mm0    \n\t"
+            "psrlq         $1, %%mm2    \n\t"
+            "pmulhw        %5, %%mm0    \n\t"
+            "pmulhw        %7, %%mm1    \n\t"
+            "pmulhw        %6, %%mm2    \n\t"
             PACK_RGB32
             :"=m"(*d)
-            :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r)
+            :"m"(*s),"m"(mask16b),"m"(mask16g),"m"(mask16r),"m"(mul15_mid),"m"(mul15_hi),"m"(mul16_mid)
             :"memory");
         d += 16;
         s += 4;
@@ -1123,9 +1111,9 @@ static inline void RENAME(rgb16to32)(const uint8_t *src, uint8_t *dst, int src_s
     while (s < end) {
         register uint16_t bgr;
         bgr = *s++;
-        *d++ = (bgr&0x1F)<<3;
-        *d++ = (bgr&0x7E0)>>3;
-        *d++ = (bgr&0xF800)>>8;
+        *d++ = ((bgr&0x1F)<<3) | ((bgr&0x1F)>>2);
+        *d++ = ((bgr&0x7E0)>>3) | ((bgr&0x7E0)>>9);
+        *d++ = ((bgr&0xF800)>>8) | ((bgr&0xF800)>>13);
         *d++ = 255;
     }
 }
diff --git a/tests/ref/fate/4xm-1 b/tests/ref/fate/4xm-1
index 5e66dcc..988e7ee 100644
--- a/tests/ref/fate/4xm-1
+++ b/tests/ref/fate/4xm-1
@@ -1,15 +1,15 @@
-0, 0, 921600, 0xd08f97c7
-0, 6000, 921600, 0xc433a85b
-0, 12000, 921600, 0x7ffeee42
-0, 18000, 921600, 0xc0ad9f52
-0, 24000, 921600, 0xb0235112
-0, 30000, 921600, 0xcbdd9805
-0, 36000, 921600, 0x5468bdb9
-0, 42000, 921600, 0x2f0c63fd
-0, 48000, 921600, 0xf1de04f0
-0, 54000, 921600, 0x95709ce2
-0, 60000, 921600, 0x69037c4a
-0, 66000, 921600, 0x513f8a98
-0, 72000, 921600, 0x55b82fa1
-0, 78000, 921600, 0x5c8ace28
-0, 84000, 921600, 0xb019770a
+0, 0, 921600, 0xd82e4d57
+0, 6000, 921600, 0x83f2349c
+0, 12000, 921600, 0x70d87db0
+0, 18000, 921600, 0x66d27b93
+0, 24000, 921600, 0xb730941c
+0, 30000, 921600, 0x15da4934
+0, 36000, 921600, 0x1953968a
+0, 42000, 921600, 0xf0d730a0
+0, 48000, 921600, 0x35a7d30c
+0, 54000, 921600, 0x33667f62
+0, 60000, 921600, 0xf4707f6b
+0, 66000, 921600, 0xaac6c392
+0, 72000, 921600, 0x68397d16
+0, 78000, 921600, 0xb2aa0450
+0, 84000, 921600, 0xba25c62e
diff --git a/tests/ref/fate/4xm-2 b/tests/ref/fate/4xm-2
index 4037f28..6c69036 100644
--- a/tests/ref/fate/4xm-2
+++ b/tests/ref/fate/4xm-2
@@ -5,153 +5,153 @@
 0, 60000, 80640, 0x3a942680
 0, 75000, 80640, 0x3a942680
 0, 90000, 80640, 0x3a942680
-0, 105000, 80640, 0x1956ebfc
-0, 120000, 80640, 0x61686290
-0, 135000, 80640, 0x7e2c2753
-0, 150000, 80640, 0x63e5e14f
-0, 165000, 80640, 0xa775947a
-0, 180000, 80640, 0x4b91b93d
-0, 195000, 80640, 0x83345f32
-0, 210000, 80640, 0x5d3a3374
-0, 225000, 80640, 0x164808c5
-0, 240000, 80640, 0xfd0189af
-0, 255000, 80640, 0x062f9389
-0, 270000, 80640, 0xe4dcaff8
-0, 285000, 80640, 0xb2d9ec51
-0, 300000, 80640, 0x3b4d5331
-0, 315000, 80640, 0xfcbd8da1
-0, 330000, 80640, 0xa0732142
-0, 345000, 80640, 0x6438df5f
-0, 360000, 80640, 0x614302fa
-0, 375000, 80640, 0x53edf986
-0, 390000, 80640, 0x6dfe13f0
-0, 405000, 80640, 0x0b2194c3
-0, 420000, 80640, 0xe0436945
-0, 435000, 80640, 0x8d8ba77f
-0, 450000, 80640, 0x9c723388
-0, 465000, 80640, 0x336bd2a2
-0, 480000, 80640, 0x5905fd0b
-0, 495000, 80640, 0x2ca368bb
-0, 510000, 80640, 0x38c1e5ec
-0, 525000, 80640, 0xe439a194
-0, 540000, 80640, 0xe7a19a64
-0, 555000, 80640, 0xbe7f9094
-0, 570000, 80640, 0x0b2cbec9
-0, 585000, 80640, 0x8050bf7d
-0, 600000, 80640, 0x4e9d4e78
-0, 615000, 80640, 0xaa7bb85d
-0, 630000, 80640, 0x6e42b1a6
-0, 645000, 80640, 0x27043fe0
-0, 660000, 80640, 0xe04bd5e6
-0, 675000, 80640, 0xd60762d6
-0, 690000, 80640, 0x2729df8f
-0, 705000, 80640, 0x1b62c4f7
-0, 720000, 80640, 0xe6b5d2f7
-0, 735000, 80640, 0xf5885096
-0, 750000, 80640, 0xe7625cf6
-0, 765000, 80640, 0xed804de6
-0, 780000, 80640, 0x3f92728e
-0, 795000, 80640, 0x353e4b0d
-0, 810000, 80640, 0x70b0228c
-0, 825000, 80640, 0x851bd554
-0, 840000, 80640, 0x594f22eb
-0, 855000, 80640, 0xa2267c0b
-0, 870000, 80640, 0xdc0fbafb
-0, 885000, 80640, 0xd596b763
-0, 900000, 80640, 0x3b9c4b1b
-0, 915000, 80640, 0x218ac4b4
-0, 930000, 80640, 0x4af393a4
-0, 945000, 80640, 0x66c098c5
-0, 960000, 80640, 0x7cc91e86
-0, 975000, 80640, 0xba282a2e
-0, 990000, 80640, 0x50932be6
-0, 1005000, 80640, 0x6531386e
-0, 1020000, 80640, 0x2616235f
-0, 1035000, 80640, 0x27aad18a
-0, 1050000, 80640, 0x67491df3
-0, 1065000, 80640, 0x167028f1
-0, 1080000, 80640, 0xa4229420
-0, 1095000, 80640, 0x77eaed07
-0, 1110000, 80640, 0xbdf7d8e8
-0, 1125000, 80640, 0xc2ac8545
-0, 1140000, 80640, 0xf3fe64ec
-0, 1155000, 80640, 0x66451d43
-0, 1170000, 80640, 0x1af2f05e
-0, 1185000, 80640, 0x2a63c2c4
-0, 1200000, 80640, 0xe4e07a0f
-0, 1215000, 80640, 0x598e8b11
-0, 1230000, 80640, 0xb2ebb868
-0, 1245000, 80640, 0xa4b6bb8a
-0, 1260000, 80640, 0x5037e910
-0, 1275000, 80640, 0x0c55f6c0
-0, 1290000, 80640, 0x3f4704f7
-0, 1305000, 80640, 0xa6a8e810
-0, 1320000, 80640, 0xedbfcfb0
-0, 1335000, 80640, 0xe568caa0
-0, 1350000, 80640, 0xdf21cc20
-0, 1365000, 80640, 0xb66cd4a8
-0, 1380000, 80640, 0xcd26c9c8
-0, 1395000, 80640, 0x5fe8d598
-0, 1410000, 80640, 0xed0dc9c8
-0, 1425000, 80640, 0x8313d288
-0, 1440000, 80640, 0x9ccdd4a0
-0, 1455000, 80640, 0x66ffe970
-0, 1470000, 80640, 0xf68ad1c8
-0, 1485000, 80640, 0xd570f658
-0, 1500000, 80640, 0x8c39d998
-0, 1515000, 80640, 0xe18fe5e0
-0, 1530000, 80640, 0xbbe7e340
-0, 1545000, 80640, 0x9a90d470
-0, 1560000, 80640, 0xd2bbced0
-0, 1575000, 80640, 0xbbf9dce0
-0, 1590000, 80640, 0x4ff7c888
-0, 1605000, 80640, 0xc2e7e1f0
-0, 1620000, 80640, 0x2104e3b0
-0, 1635000, 80640, 0xaef5e8f0
-0, 1650000, 80640, 0xc477e890
-0, 1665000, 80640, 0xb12df778
-0, 1680000, 80640, 0xd2115720
-0, 1695000, 80640, 0x620b6538
-0, 1710000, 80640, 0x894a8db8
-0, 1725000, 80640, 0x8da3bcb0
-0, 1740000, 80640, 0x96be8930
-0, 1755000, 80640, 0xe69dc1f0
-0, 1770000, 80640, 0x42b8d4e0
-0, 1785000, 80640, 0x0a8da4f0
-0, 1800000, 80640, 0x245fd3d8
-0, 1815000, 80640, 0x3fd1e858
-0, 1830000, 80640, 0xe2c299f0
-0, 1845000, 80640, 0xda1cddd0
-0, 1860000, 80640, 0xf126e498
-0, 1875000, 80640, 0xc85ab920
-0, 1890000, 80640, 0x52f39de8
-0, 1905000, 80640, 0xd0daac60
-0, 1920000, 80640, 0xef323347
-0, 1935000, 80640, 0xcc063317
-0, 1950000, 80640, 0xb6f53057
-0, 1965000, 80640, 0x5fe53b07
-0, 1980000, 80640, 0x63183d7f
-0, 1995000, 80640, 0x91a44bbf
-0, 2010000, 80640, 0xa433480f
-0, 2025000, 80640, 0xe90652ef
-0, 2040000, 80640, 0xe96e35bf
-0, 2055000, 80640, 0x84ff2ccf
-0, 2070000, 80640, 0x930f2b07
-0, 2085000, 80640, 0x5a1228d7
-0, 2100000, 80640, 0x29f226ef
-0, 2115000, 80640, 0xd35136df
-0, 2130000, 80640, 0x0e2d407f
-0, 2145000, 80640, 0x34a93267
-0, 2160000, 80640, 0x7ae82af7
-0, 2175000, 80640, 0xb20c2477
-0, 2190000, 80640, 0xa104218f
-0, 2205000, 80640, 0xcb1121e7
-0, 2220000, 80640, 0xaca04751
-0, 2235000, 80640, 0x3a51c704
-0, 2250000, 80640, 0xfa632e3d
-0, 2265000, 80640, 0x61c9407c
-0, 2280000, 80640, 0xe9a08dd9
-0, 2295000, 80640, 0xebf3c623
+0, 105000, 80640, 0xa731901a
+0, 120000, 80640, 0x0a1e5b3d
+0, 135000, 80640, 0x2c66418f
+0, 150000, 80640, 0xaaf8575a
+0, 165000, 80640, 0x2d1a60b1
+0, 180000, 80640, 0x646d6e66
+0, 195000, 80640, 0x090de107
+0, 210000, 80640, 0x90991f6c
+0, 225000, 80640, 0xda862969
+0, 240000, 80640, 0x5434e1ec
+0, 255000, 80640, 0x4e981ce7
+0, 270000, 80640, 0x97eb4000
+0, 285000, 80640, 0xbfb375b0
+0, 300000, 80640, 0x1529d95d
+0, 315000, 80640, 0x2c0015af
+0, 330000, 80640, 0x63779ce1
+0, 345000, 80640, 0x3f2b3949
+0, 360000, 80640, 0xe3cf3be4
+0, 375000, 80640, 0x54451a22
+0, 390000, 80640, 0xc2901d91
+0, 405000, 80640, 0x312f8b7e
+0, 420000, 80640, 0x99734f4e
+0, 435000, 80640, 0xe50b8391
+0, 450000, 80640, 0x7c6b04e4
+0, 465000, 80640, 0x04989996
+0, 480000, 80640, 0x30c3c00f
+0, 495000, 80640, 0x77172ba4
+0, 510000, 80640, 0x1257a596
+0, 525000, 80640, 0x657e5fa8
+0, 540000, 80640, 0xe66958ef
+0, 555000, 80640, 0xbf7f4f0a
+0, 570000, 80640, 0x588ac70e
+0, 585000, 80640, 0xb1a91c4b
+0, 600000, 80640, 0x5b73de24
+0, 615000, 80640, 0xa3c15e73
+0, 630000, 80640, 0x7326196b
+0, 645000, 80640, 0x1aa52b88
+0, 660000, 80640, 0x0029f511
+0, 675000, 80640, 0x2398433a
+0, 690000, 80640, 0xef9ab870
+0, 705000, 80640, 0xb1ac9b79
+0, 720000, 80640, 0x1cc2ab3b
+0, 735000, 80640, 0x41362b53
+0, 750000, 80640, 0x81e33811
+0, 765000, 80640, 0x621d285a
+0, 780000, 80640, 0x84e84c24
+0, 795000, 80640, 0xbb8c2939
+0, 810000, 80640, 0x6c6905a8
+0, 825000, 80640, 0xc60bbaf0
+0, 840000, 80640, 0xc80d08c8
+0, 855000, 80640, 0xc5646343
+0, 870000, 80640, 0x3df7a287
+0, 885000, 80640, 0x628e9f78
+0, 900000, 80640, 0x58f93044
+0, 915000, 80640, 0x8ee3a59f
+0, 930000, 80640, 0xaa297416
+0, 945000, 80640, 0x7bbd7307
+0, 960000, 80640, 0x12dbee42
+0, 975000, 80640, 0xaea5fb22
+0, 990000, 80640, 0x9405fd0b
+0, 1005000, 80640, 0x59400b6f
+0, 1020000, 80640, 0x70beeba0
+0, 1035000, 80640, 0xdc0681ae
+0, 1050000, 80640, 0xe4a3c803
+0, 1065000, 80640, 0x3424c568
+0, 1080000, 80640, 0xeb72838d
+0, 1095000, 80640, 0x671fbff3
+0, 1110000, 80640, 0xa4b849bd
+0, 1125000, 80640, 0xf4c2be6f
+0, 1140000, 80640, 0xb91988fd
+0, 1155000, 80640, 0xd0e5bf3a
+0, 1170000, 80640, 0x78c2b0bc
+0, 1185000, 80640, 0xcf2deb74
+0, 1200000, 80640, 0x84a9081b
+0, 1215000, 80640, 0x9931e9b1
+0, 1230000, 80640, 0x1ce6b59d
+0, 1245000, 80640, 0x24a31152
+0, 1260000, 80640, 0x206f4677
+0, 1275000, 80640, 0x507755ab
+0, 1290000, 80640, 0xc4b5643a
+0, 1305000, 80640, 0x197445f7
+0, 1320000, 80640, 0x53232d2a
+0, 1335000, 80640, 0x33ae27d4
+0, 1350000, 80640, 0x77bb2925
+0, 1365000, 80640, 0xb0d53220
+0, 1380000, 80640, 0xacdb26fc
+0, 1395000, 80640, 0xa83d32e1
+0, 1410000, 80640, 0xe2002717
+0, 1425000, 80640, 0xb1722fed
+0, 1440000, 80640, 0xa7de3206
+0, 1455000, 80640, 0x68f94780
+0, 1470000, 80640, 0x2bcc2f28
+0, 1485000, 80640, 0xaf9354e5
+0, 1500000, 80640, 0x45b4375c
+0, 1515000, 80640, 0x60e043ee
+0, 1530000, 80640, 0x9ed5411e
+0, 1545000, 80640, 0xbae131ce
+0, 1560000, 80640, 0x33be2be6
+0, 1575000, 80640, 0xdadb3a4c
+0, 1590000, 80640, 0xe9e72559
+0, 1605000, 80640, 0x9fe93f8c
+0, 1620000, 80640, 0xc20b413a
+0, 1635000, 80640, 0x02c74699
+0, 1650000, 80640, 0x1b284634
+0, 1665000, 80640, 0xb7ea559e
+0, 1680000, 80640, 0x62e3b0e1
+0, 1695000, 80640, 0x8b6bbf68
+0, 1710000, 80640, 0x04d2e8d8
+0, 1725000, 80640, 0xc6961955
+0, 1740000, 80640, 0xf318e461
+0, 1755000, 80640, 0x55231e8f
+0, 1770000, 80640, 0x772f325e
+0, 1785000, 80640, 0x31480120
+0, 1800000, 80640, 0x5eda30fe
+0, 1815000, 80640, 0x5c534632
+0, 1830000, 80640, 0xaca0f5c9
+0, 1845000, 80640, 0x9ec83b5a
+0, 1860000, 80640, 0x65944233
+0, 1875000, 80640, 0xbf7e15f0
+0, 1890000, 80640, 0xf985f9b7
+0, 1905000, 80640, 0x0e7a0887
+0, 1920000, 80640, 0xee33931b
+0, 1935000, 80640, 0xea6b92f8
+0, 1950000, 80640, 0xde559025
+0, 1965000, 80640, 0x970c9af6
+0, 1980000, 80640, 0x6a579d8a
+0, 1995000, 80640, 0x7053ac0c
+0, 2010000, 80640, 0x6d6ca81b
+0, 2025000, 80640, 0x6ffdb338
+0, 2040000, 80640, 0x402f953f
+0, 2055000, 80640, 0x24358c04
+0, 2070000, 80640, 0x26298a25
+0, 2085000, 80640, 0xbc0487e7
+0, 2100000, 80640, 0xf8c885fd
+0, 2115000, 80640, 0x98a79695
+0, 2130000, 80640, 0x846aa04b
+0, 2145000, 80640, 0x22ba919b
+0, 2160000, 80640, 0xcba08a11
+0, 2175000, 80640, 0xfba0836c
+0, 2190000, 80640, 0xb7ff8059
+0, 2205000, 80640, 0xb15080bb
+0, 2220000, 80640, 0x42627aed
+0, 2235000, 80640, 0xd045d485
+0, 2250000, 80640, 0xf22e7545
+0, 2265000, 80640, 0xe24a41fc
+0, 2280000, 80640, 0x854696ac
+0, 2295000, 80640, 0x6722f8f2
 0, 2310000, 80640, 0x00000000
 0, 2325000, 80640, 0x0f412500
 0, 2340000, 80640, 0x0f412500
@@ -159,16 +159,16 @@
 0, 2370000, 80640, 0xb6634270
 0, 2385000, 80640, 0x9e43a4a0
 0, 2400000, 80640, 0x136ab60b
-0, 2415000, 80640, 0x6ce3254e
-0, 2430000, 80640, 0xf4340d15
-0, 2445000, 80640, 0x73861114
-0, 2460000, 80640, 0x36b300d3
-0, 2475000, 80640, 0x2ddde523
-0, 2490000, 80640, 0xfdd79c02
-0, 2505000, 80640, 0xe6cc4fe9
-0, 2520000, 80640, 0x5b13e2b9
-0, 2535000, 80640, 0x0d588e70
-0, 2550000, 80640, 0xc6e4023f
-0, 2565000, 80640, 0xf54c496f
-0, 2580000, 80640, 0xa315a5cf
-0, 2595000, 80640, 0x2d2ac9c7
+0, 2415000, 80640, 0xe43625dc
+0, 2430000, 80640, 0xc2eb0f8c
+0, 2445000, 80640, 0x99af167d
+0, 2460000, 80640, 0xd9cb0a37
+0, 2475000, 80640, 0x1f2cf2ce
+0, 2490000, 80640, 0x00eeae7f
+0, 2505000, 80640, 0xcc1d666c
+0, 2520000, 80640, 0x77d6fcc9
+0, 2535000, 80640, 0x58c8acc6
+0, 2550000, 80640, 0xd026238d
+0, 2565000, 80640, 0xfefb6c9b
+0, 2580000, 80640, 0xa9a5cb36
+0, 2595000, 80640, 0xc845f000
diff --git a/tests/ref/fate/armovie-escape124 b/tests/ref/fate/armovie-escape124
index 19e6795..3b9aa46 100644
--- a/tests/ref/fate/armovie-escape124
+++ b/tests/ref/fate/armovie-escape124
@@ -1,104 +1,104 @@
-0, 0, 230400, 0x5288d70f
+0, 0, 230400, 0xd133e177
 1, 0, 176400, 0xdd61578c
-0, 3600, 230400, 0x2d3c1066
-0, 7200, 230400, 0x89eb5b4a
-0, 10800, 230400, 0x24c2d2e7
-0, 14400, 230400, 0x9271cb38
-0, 18000, 230400, 0xc74a5009
-0, 21600, 230400, 0x61d70705
-0, 25200, 230400, 0x6bb2c252
-0, 28800, 230400, 0x6b3ac910
-0, 32400, 230400, 0x44071f28
-0, 36000, 230400, 0x8abd00fe
-0, 39600, 230400, 0xcbe3395d
-0, 43200, 230400, 0x603e7b7a
-0, 46800, 230400, 0x2ca8865b
-0, 50400, 230400, 0x11b4c665
-0, 54000, 230400, 0x3f19787c
-0, 57600, 230400, 0x651d24b6
-0, 61200, 230400, 0x325d05af
-0, 64800, 230400, 0x4f89d8a8
-0, 68400, 230400, 0xb07647f0
-0, 72000, 230400, 0x71141237
-0, 75600, 230400, 0xa848a2d2
-0, 79200, 230400, 0x3fbe4b58
-0, 82800, 230400, 0xa1e235a0
-0, 86400, 230400, 0x9bcf607a
-0, 90000, 230400, 0x3302e9eb
+0, 3600, 230400, 0xe3501bb2
+0, 7200, 230400, 0x44da84f0
+0, 10800, 230400, 0xe0fd17ed
+0, 14400, 230400, 0xef4e08c7
+0, 18000, 230400, 0xf52f82b5
+0, 21600, 230400, 0x05eb186c
+0, 25200, 230400, 0x0653f05d
+0, 28800, 230400, 0xde1a0735
+0, 32400, 230400, 0x6045576e
+0, 36000, 230400, 0xac9444c4
+0, 39600, 230400, 0x5f7f82fb
+0, 43200, 230400, 0xaf4718ce
+0, 46800, 230400, 0x117d5787
+0, 50400, 230400, 0x319ac1f5
+0, 54000, 230400, 0xd05cb30a
+0, 57600, 230400, 0x96107c72
+0, 61200, 230400, 0x73ff0a30
+0, 64800, 230400, 0x865d0f3e
+0, 68400, 230400, 0x3384ad55
+0, 72000, 230400, 0x6694b2ea
+0, 75600, 230400, 0x324f5cb8
+0, 79200, 230400, 0x2de7c12f
+0, 82800, 230400, 0x57fedb1a
+0, 86400, 230400, 0xf46f2abf
+0, 90000, 230400, 0xe5fead9b
 1, 90000, 176400, 0x0b9e6d67
-0, 93600, 230400, 0xd731ba90
-0, 97200, 230400, 0x821eedcf
-0, 100800, 230400, 0xd068a93d
-0, 104400, 230400, 0x2811d46e
-0, 108000, 230400, 0xd9740446
-0, 111600, 230400, 0x1bce0df6
-0, 115200, 230400, 0x44bc60ad
-0, 118800, 230400, 0xf56f6200
-0, 122400, 230400, 0x874a2264
-0, 126000, 230400, 0xaa155c0e
-0, 129600, 230400, 0x595392d4
-0, 133200, 230400, 0x58dc57de
-0, 136800, 230400, 0x1c06733e
-0, 140400, 230400, 0x6807b1db
-0, 144000, 230400, 0x3fedff87
-0, 147600, 230400, 0x3e38cc13
-0, 151200, 230400, 0x6685ec35
-0, 154800, 230400, 0x6c0742fd
-0, 158400, 230400, 0x8108f83c
-0, 162000, 230400, 0xc0e217c8
-0, 165600, 230400, 0xb22ca65d
-0, 169200, 230400, 0xd54cec93
-0, 172800, 230400, 0xd9d61de3
-0, 176400, 230400, 0x7e0f9675
-0, 180000, 230400, 0x9869f5b7
+0, 93600, 230400, 0x65764edb
+0, 97200, 230400, 0xeabdcf53
+0, 100800, 230400, 0xaeb659fc
+0, 104400, 230400, 0x5ec97eb1
+0, 108000, 230400, 0x2482abae
+0, 111600, 230400, 0x297fb0c8
+0, 115200, 230400, 0x57a52a3d
+0, 118800, 230400, 0x44040e98
+0, 122400, 230400, 0xa150e542
+0, 126000, 230400, 0x0a1e1296
+0, 129600, 230400, 0xf1085864
+0, 133200, 230400, 0xe7a13b40
+0, 136800, 230400, 0x759d384d
+0, 140400, 230400, 0x72e08991
+0, 144000, 230400, 0x10a4bbc9
+0, 147600, 230400, 0xb258ac16
+0, 151200, 230400, 0xde06facb
+0, 154800, 230400, 0x94284e11
+0, 158400, 230400, 0xedf23092
+0, 162000, 230400, 0xc2be6319
+0, 165600, 230400, 0x103a0b7b
+0, 169200, 230400, 0x3415888b
+0, 172800, 230400, 0x5ecaac75
+0, 176400, 230400, 0xb9ba503e
+0, 180000, 230400, 0xb20ccf57
 1, 180000, 176400, 0x2793fad7
-0, 183600, 230400, 0x22f33400
-0, 187200, 230400, 0x31b999bd
-0, 190800, 230400, 0x36c23878
-0, 194400, 230400, 0x06093a30
-0, 198000, 230400, 0x213f1718
-0, 201600, 230400, 0x83683006
-0, 205200, 230400, 0x0bfcec36
-0, 208800, 230400, 0x01b77825
-0, 212400, 230400, 0x650a5ea2
-0, 216000, 230400, 0xd8b2c559
-0, 219600, 230400, 0xb012eb10
-0, 223200, 230400, 0x135d53a4
-0, 226800, 230400, 0x98dd0712
-0, 230400, 230400, 0x75240ac0
-0, 234000, 230400, 0xa16769d5
-0, 237600, 230400, 0x3e08cda3
-0, 241200, 230400, 0xcd20d561
-0, 244800, 230400, 0x3531577d
-0, 248400, 230400, 0x65ff4c82
-0, 252000, 230400, 0x8fd4a580
-0, 255600, 230400, 0x3cf7af4c
-0, 259200, 230400, 0xda7a9202
-0, 262800, 230400, 0x4bebc138
-0, 266400, 230400, 0x5517e685
-0, 270000, 230400, 0x95f6c7a3
+0, 183600, 230400, 0x0dba31ed
+0, 187200, 230400, 0x91c5e7d4
+0, 190800, 230400, 0x09ac954b
+0, 194400, 230400, 0xe9c3d563
+0, 198000, 230400, 0xf46eef67
+0, 201600, 230400, 0x117f4b80
+0, 205200, 230400, 0x61714860
+0, 208800, 230400, 0x5c7112d0
+0, 212400, 230400, 0xd42c51e7
+0, 216000, 230400, 0x425f0c99
+0, 219600, 230400, 0x4c398834
+0, 223200, 230400, 0x237f89c2
+0, 226800, 230400, 0xd2e29b05
+0, 230400, 230400, 0x204a054b
+0, 234000, 230400, 0x25a9faf7
+0, 237600, 230400, 0x83f6c1a8
+0, 241200, 230400, 0xe48321b9
+0, 244800, 230400, 0x714c1005
+0, 248400, 230400, 0x36cc58e9
+0, 252000, 230400, 0x5e9ffdd9
+0, 255600, 230400, 0x582b55dc
+0, 259200, 230400, 0x139a7f39
+0, 262800, 230400, 0xefb5f998
+0, 266400, 230400, 0xeb736da8
+0, 270000, 230400, 0x488f9847
 1, 270000, 176400, 0xe2649a4a
-0, 273600, 230400, 0x9849ebf9
-0, 277200, 230400, 0xd77e1c7d
-0, 280800, 230400, 0x4dc6c923
-0, 284400, 230400, 0x7ce817c8
-0, 288000, 230400, 0xafb4acde
-0, 291600, 230400, 0xd0030b2c
-0, 295200, 230400, 0xb3acb77c
-0, 298800, 230400, 0x4d32b61c
-0, 302400, 230400, 0x2436a915
-0, 306000, 230400, 0xa6fd831f
-0, 309600, 230400, 0x6c6edfca
-0, 313200, 230400, 0x4b30d72e
-0, 316800, 230400, 0x59f46a8a
-0, 320400, 230400, 0xa2d0435f
-0, 324000, 230400, 0x463872c4
-0, 327600, 230400, 0x1d7e870a
-0, 331200, 230400, 0x74f4e530
-0, 334800, 230400, 0xbc61053d
-0, 338400, 230400, 0x5fb238dc
-0, 342000, 230400, 0x14a29d83
-0, 345600, 230400, 0x3fd1d09b
-0, 349200, 230400, 0x098afc13
-0, 352800, 230400, 0x9bd12a62
-0, 356400, 230400, 0x7bf71419
+0, 273600, 230400, 0x6ab20741
+0, 277200, 230400, 0xa73686f0
+0, 280800, 230400, 0x67878643
+0, 284400, 230400, 0x83bb241b
+0, 288000, 230400, 0xe6b70660
+0, 291600, 230400, 0x87f5aca3
+0, 295200, 230400, 0x29c79bc3
+0, 298800, 230400, 0xcadbd70b
+0, 302400, 230400, 0x8cdcfdee
+0, 306000, 230400, 0x90aa0442
+0, 309600, 230400, 0xa68e87b7
+0, 313200, 230400, 0xa2c49e58
+0, 316800, 230400, 0x9a9a4c55
+0, 320400, 230400, 0x06b53aed
+0, 324000, 230400, 0x79e1808a
+0, 327600, 230400, 0x3e53a411
+0, 331200, 230400, 0xfebc13ca
+0, 334800, 230400, 0x1f1f443b
+0, 338400, 230400, 0xd0db806a
+0, 342000, 230400, 0x6f2aee94
+0, 345600, 230400, 0xe8cc23ba
+0, 349200, 230400, 0x2edf510b
+0, 352800, 230400, 0x87118129
+0, 356400, 230400, 0x1dd1709a
diff --git a/tests/ref/fate/interplay-mve-16bit b/tests/ref/fate/interplay-mve-16bit
index 74f0b35..b484647 100644
--- a/tests/ref/fate/interplay-mve-16bit
+++ b/tests/ref/fate/interplay-mve-16bit
@@ -3,101 +3,101 @@
 1, 2953, 5888, 0xc65cb069
 0, 3002, 614400, 0x00000000
 1, 5957, 5888, 0xd8ec1acc
-0, 6005, 614400, 0xa17ea4ec
+0, 6005, 614400, 0x3c4ce011
 1, 8961, 5888, 0xb22af0d6
-0, 9007, 614400, 0x4fd207fb
+0, 9007, 614400, 0x16e83922
 1, 11965, 5888, 0x86bb50d9
-0, 12010, 614400, 0xd7a510fb
+0, 12010, 614400, 0x657a3d4d
 1, 14969, 5888, 0x7674d923
-0, 15012, 614400, 0xe901e2f4
+0, 15012, 614400, 0x933a08b0
 1, 17973, 5888, 0xb97c5500
-0, 18014, 614400, 0x4ac5d3c4
+0, 18014, 614400, 0xfcd5f76e
 1, 20978, 5888, 0xecea1249
-0, 21017, 614400, 0x32e3e99c
+0, 21017, 614400, 0xd0990cf8
 1, 23982, 5888, 0x0f4fea81
-0, 24019, 614400, 0x7a2ff20c
+0, 24019, 614400, 0x02131686
 1, 26986, 5888, 0x997914d8
-0, 27022, 614400, 0x59941193
+0, 27022, 614400, 0x4cf53656
 1, 29990, 5888, 0xd012f03a
-0, 30024, 614400, 0x92773a2b
+0, 30024, 614400, 0x7d1960c0
 1, 32994, 5888, 0x03fd5248
-0, 33026, 614400, 0x4cd14313
+0, 33026, 614400, 0x5d9f696f
 1, 35998, 5888, 0x3041a288
-0, 36029, 614400, 0x2a093fa3
+0, 36029, 614400, 0x54e06663
 1, 39002, 5888, 0xe6105de1
-0, 39031, 614400, 0xf68b8463
+0, 39031, 614400, 0x4c1eade1
 1, 42006, 5888, 0xaa38c7bd
-0, 42034, 614400, 0xa9e1969b
+0, 42034, 614400, 0x4bd3bfff
 1, 45010, 5888, 0xbfff702c
-0, 45036, 614400, 0x461996bb
+0, 45036, 614400, 0xab86c041
 1, 48014, 5888, 0xbe4319a3
-0, 48038, 614400, 0xae58d053
+0, 48038, 614400, 0xbb2bfbf4
 1, 51018, 5888, 0x2e89d262
-0, 51041, 614400, 0x7693015a
+0, 51041, 614400, 0x43822e15
 1, 54022, 5888, 0x10992b9c
-0, 54043, 614400, 0x0b3507fa
+0, 54043, 614400, 0x835e352c
 1, 57027, 5888, 0x972904bf
-0, 57046, 614400, 0xff5c2492
+0, 57046, 614400, 0x72cc538f
 1, 60031, 5888, 0x0093501c
-0, 60048, 614400, 0x636e3e32
+0, 60048, 614400, 0x20bb6e30
 1, 63035, 5888, 0x8994ad0e
-0, 63050, 614400, 0x1acd6d0a
+0, 63050, 614400, 0xfb079f52
 1, 66039, 5888, 0x9db37d21
-0, 66053, 614400, 0x67039232
+0, 66053, 614400, 0x759bc4d6
 1, 69043, 5888, 0xa8c7300f
-0, 69055, 614400, 0x8ab9c75a
+0, 69055, 614400, 0xd116fc3b
 1, 72047, 5888, 0x1b7073b5
-0, 72058, 614400, 0xe824bbe2
+0, 72058, 614400, 0x5c06efd2
 1, 75051, 5888, 0x56ad7f7b
-0, 75060, 614400, 0x5133e9ea
+0, 75060, 614400, 0x61641ecd
 1, 78055, 5888, 0x9706a8fb
-0, 78062, 614400, 0xcecf1249
+0, 78062, 614400, 0x6c8d48a0
 1, 81059, 5888, 0x16c9420e
-0, 81065, 614400, 0xe6d928c1
+0, 81065, 614400, 0x64725eed
 1, 84063, 5888, 0x3e11be0a
-0, 84067, 614400, 0x8da46ff1
+0, 84067, 614400, 0x88f9a8ca
 1, 87067, 5888, 0x3e534a32
-0, 87070, 614400, 0x1c778319
+0, 87070, 614400, 0xcf1cbcd9
 1, 90071, 5788, 0x0ffae5f4
-0, 90072, 614400, 0x35a19451
+0, 90072, 614400, 0x75a3ce24
 1, 93024, 5888, 0xc2018f82
-0, 93074, 614400, 0x5145d1b9
+0, 93074, 614400, 0x3bf80ce7
 1, 96029, 5888, 0x2a11f529
-0, 96077, 614400, 0x146ee231
+0, 96077, 614400, 0xd4011d7c
 1, 99033, 5888, 0xec282167
-0, 99079, 614400, 0xd9b33380
+0, 99079, 614400, 0xd569716b
 1, 102037, 5888, 0xd61b5a05
-0, 102082, 614400, 0x8b112ef8
+0, 102082, 614400, 0xfd626b6b
 1, 105041, 5888, 0x61de2741
-0, 105084, 614400, 0xb9e79ab0
+0, 105084, 614400, 0xc856dbaf
 1, 108045, 5888, 0x17aaff8c
-0, 108086, 614400, 0x62d3a498
+0, 108086, 614400, 0x0e56e68e
 1, 111049, 5888, 0xd40cd7a6
-0, 111089, 614400, 0xaeaaaa58
+0, 111089, 614400, 0x5b29ecc9
 1, 114053, 5888, 0x840840d4
-0, 114091, 614400, 0x8922c440
+0, 114091, 614400, 0xe83c0804
 1, 117057, 5888, 0x7c97ddcf
-0, 117094, 614400, 0xd62ef758
+0, 117094, 614400, 0xebdd3d61
 1, 120061, 5888, 0xed9150f7
-0, 120096, 614400, 0x2a53149f
+0, 120096, 614400, 0x7f4c5b56
 1, 123065, 5888, 0xbccf973e
-0, 123098, 614400, 0x13da47df
+0, 123098, 614400, 0xb4019155
 1, 126069, 5888, 0x74bda5ea
-0, 126101, 614400, 0x27c05c3f
+0, 126101, 614400, 0xffdda515
 1, 129073, 5888, 0xd083892a
-0, 129103, 614400, 0x41ff7ca7
+0, 129103, 614400, 0x5271c695
 1, 132078, 5888, 0x16e444b2
-0, 132106, 614400, 0x6b0e8a07
+0, 132106, 614400, 0x8526d3c1
 1, 135082, 5888, 0x68a9cedb
-0, 135108, 614400, 0xa200ad9f
+0, 135108, 614400, 0x5accf7a6
 1, 138086, 5888, 0x80849f36
-0, 138110, 614400, 0x9da7cc77
+0, 138110, 614400, 0x959017aa
 1, 141090, 5888, 0x63cb7df9
-0, 141113, 614400, 0x2f5703be
+0, 141113, 614400, 0x22f450f6
 1, 144094, 5888, 0xf90f754d
-0, 144115, 614400, 0x91c720f6
+0, 144115, 614400, 0x2e3d6f37
 1, 147098, 5888, 0x9c2c867d
-0, 147118, 614400, 0x927a882e
+0, 147118, 614400, 0x0db9d89f
 1, 150102, 5888, 0x337994a4
 1, 153106, 5888, 0xf354a28d
 1, 156110, 5888, 0x70933738
diff --git a/tests/ref/fate/motionpixels b/tests/ref/fate/motionpixels
index fa86f73..d1a2651 100644
--- a/tests/ref/fate/motionpixels
+++ b/tests/ref/fate/motionpixels
@@ -1,111 +1,111 @@
 0, 0, 230400, 0xee05b509
-0, 6000, 230400, 0x71048964
-0, 12000, 230400, 0x2ebe4ba1
-0, 18000, 230400, 0xeedc45a6
-0, 24000, 230400, 0x218e8656
-0, 30000, 230400, 0x5792b17e
-0, 36000, 230400, 0x51b0a062
-0, 42000, 230400, 0x5dc4fd9c
-0, 48000, 230400, 0x9b0261b1
-0, 54000, 230400, 0x35086ffc
-0, 60000, 230400, 0xcf9352ff
-0, 66000, 230400, 0x0b5139a1
-0, 72000, 230400, 0x22e8a31e
-0, 78000, 230400, 0x82f61a81
-0, 84000, 230400, 0xc5741ab5
-0, 90000, 230400, 0xb5e7b2ff
-0, 96000, 230400, 0x583289ca
-0, 102001, 230400, 0xee52afbb
-0, 108001, 230400, 0xfdb4dc1a
-0, 114001, 230400, 0xf5ce99c0
-0, 120001, 230400, 0xae222255
-0, 126001, 230400, 0xc4f4439d
-0, 132001, 230400, 0x1758f224
-0, 138001, 230400, 0x5f517926
-0, 144001, 230400, 0x73a8bed8
-0, 150001, 230400, 0x7ef8410c
-0, 156001, 230400, 0xfcb693c7
-0, 162001, 230400, 0x5292832e
-0, 168001, 230400, 0x591261d7
-0, 174001, 230400, 0x28cca691
-0, 180001, 230400, 0x22cf40ef
-0, 186001, 230400, 0x517b10f9
-0, 192001, 230400, 0x8197e939
-0, 198001, 230400, 0x9654ffdb
-0, 204001, 230400, 0x803f10dd
-0, 210001, 230400, 0xff9f67af
-0, 216001, 230400, 0x4847244c
-0, 222001, 230400, 0xff31638f
-0, 228001, 230400, 0x9692def5
-0, 234001, 230400, 0x67f0a5fb
-0, 240001, 230400, 0xce192074
-0, 246001, 230400, 0x33d6c4a5
-0, 252001, 230400, 0xaf7b5a03
-0, 258001, 230400, 0xd956b0c0
-0, 264001, 230400, 0x58ff1a65
-0, 270001, 230400, 0x044758a1
-0, 276001, 230400, 0xe8045b65
-0, 282001, 230400, 0xf504c5fb
-0, 288001, 230400, 0x17a9a2b0
-0, 294001, 230400, 0xf68bab8c
-0, 300002, 230400, 0xd06dd0cb
-0, 306002, 230400, 0xc47d2673
-0, 312002, 230400, 0x2112f291
-0, 318002, 230400, 0x4c07c83c
-0, 324002, 230400, 0x22ca0113
-0, 330002, 230400, 0x25b0c8b1
-0, 336002, 230400, 0xb6afc645
-0, 342002, 230400, 0x663b1c09
-0, 348002, 230400, 0x9006ef1f
-0, 354002, 230400, 0x54f81b11
-0, 360002, 230400, 0x456b79f2
-0, 366002, 230400, 0xb08f24d0
-0, 372002, 230400, 0x652ad875
-0, 378002, 230400, 0xc6ecd67f
-0, 384002, 230400, 0x78dad721
-0, 390002, 230400, 0x1d2a4f71
-0, 396002, 230400, 0xc71721d1
-0, 402002, 230400, 0x64e3a7df
-0, 408002, 230400, 0x3bb18e71
-0, 414002, 230400, 0xb571d58c
-0, 420002, 230400, 0xdae6ed5c
-0, 426002, 230400, 0xdd91504b
-0, 432002, 230400, 0xd5a807a5
-0, 438002, 230400, 0x39a67b03
-0, 444002, 230400, 0xe245c8ac
-0, 450002, 230400, 0x5b0d7858
-0, 456002, 230400, 0x501b8097
-0, 462002, 230400, 0xf7b10d48
-0, 468002, 230400, 0x769db0bd
-0, 474002, 230400, 0x600f1086
-0, 480002, 230400, 0x874f5565
-0, 486002, 230400, 0x14322f73
-0, 492002, 230400, 0x0eaa36a5
-0, 498002, 230400, 0x97178d13
-0, 504003, 230400, 0xd4c7a0d1
-0, 510003, 230400, 0x1d424ec8
-0, 516003, 230400, 0x695ad8d9
-0, 522003, 230400, 0xe7cc3ecf
-0, 528003, 230400, 0xfd25fd8c
-0, 534003, 230400, 0xef4bc203
-0, 540003, 230400, 0x2a113bec
-0, 546003, 230400, 0x6e7ad403
-0, 552003, 230400, 0xc6714d2b
-0, 558003, 230400, 0x77df8ba6
-0, 564003, 230400, 0xcd283106
-0, 570003, 230400, 0xcb95676f
-0, 576003, 230400, 0xb0b70393
-0, 582003, 230400, 0x4c40bd63
-0, 588003, 230400, 0x557e8ccf
-0, 594003, 230400, 0x9d5934b2
-0, 600003, 230400, 0x43c1793f
-0, 606003, 230400, 0x0232361e
-0, 612003, 230400, 0x92ed91e4
-0, 618003, 230400, 0x99769789
-0, 624003, 230400, 0xd49c2c5b
-0, 630003, 230400, 0x66b03495
-0, 636003, 230400, 0xb88a4658
-0, 642003, 230400, 0x9c21e4c2
-0, 648003, 230400, 0xb343f372
-0, 654003, 230400, 0xf7f1e588
-0, 660003, 230400, 0x9682bdb2
+0, 6000, 230400, 0x23b28b24
+0, 12000, 230400, 0x4a4d6007
+0, 18000, 230400, 0xe5550693
+0, 24000, 230400, 0xad4905a3
+0, 30000, 230400, 0xc83b9030
+0, 36000, 230400, 0xbc73a26a
+0, 42000, 230400, 0x7065ff8a
+0, 48000, 230400, 0x65bc7675
+0, 54000, 230400, 0xc245737f
+0, 60000, 230400, 0x77e6c1ed
+0, 66000, 230400, 0x6761d73a
+0, 72000, 230400, 0x6207b8f8
+0, 78000, 230400, 0xa3691862
+0, 84000, 230400, 0x83fbfc24
+0, 90000, 230400, 0xe1c34ef0
+0, 96000, 230400, 0xd7b50e8e
+0, 102001, 230400, 0x5b5e2f29
+0, 108001, 230400, 0xca7825e5
+0, 114001, 230400, 0xb4c7b4a9
+0, 120001, 230400, 0xc35513b5
+0, 126001, 230400, 0x36117834
+0, 132001, 230400, 0x8af035d7
+0, 138001, 230400, 0x25c50a2e
+0, 144001, 230400, 0x52f54107
+0, 150001, 230400, 0xaddca5f9
+0, 156001, 230400, 0x3b1fe64c
+0, 162001, 230400, 0xcd52de15
+0, 168001, 230400, 0xfaa4f7fa
+0, 174001, 230400, 0xce5b3221
+0, 180001, 230400, 0xb2c3d9ba
+0, 186001, 230400, 0xf6ec95e9
+0, 192001, 230400, 0xfa7ebd18
+0, 198001, 230400, 0xb6e50465
+0, 204001, 230400, 0xd48ceee9
+0, 210001, 230400, 0x333605cf
+0, 216001, 230400, 0xe7ccf362
+0, 222001, 230400, 0x39f07b83
+0, 228001, 230400, 0xd6450b2e
+0, 234001, 230400, 0x2029ec12
+0, 240001, 230400, 0x15d7762e
+0, 246001, 230400, 0x0d69506d
+0, 252001, 230400, 0xcf2ef066
+0, 258001, 230400, 0x2c145df0
+0, 264001, 230400, 0x153d7fe7
+0, 270001, 230400, 0x98846aea
+0, 276001, 230400, 0xc0347d4e
+0, 282001, 230400, 0xda7a58a8
+0, 288001, 230400, 0x5724c05e
+0, 294001, 230400, 0x9805237b
+0, 300002, 230400, 0x2f5f0d70
+0, 306002, 230400, 0xb1271014
+0, 312002, 230400, 0x6cb29d9c
+0, 318002, 230400, 0x4f91fdb4
+0, 324002, 230400, 0x274b3f30
+0, 330002, 230400, 0xdfc508e8
+0, 336002, 230400, 0x16e974ef
+0, 342002, 230400, 0x98fae336
+0, 348002, 230400, 0xbf265f84
+0, 354002, 230400, 0x75cf323b
+0, 360002, 230400, 0xdb3481f7
+0, 366002, 230400, 0xb8453df5
+0, 372002, 230400, 0xd4598deb
+0, 378002, 230400, 0x4dc19cf6
+0, 384002, 230400, 0xa8d1b340
+0, 390002, 230400, 0x1f98aa27
+0, 396002, 230400, 0x505c0687
+0, 402002, 230400, 0x86179997
+0, 408002, 230400, 0x7e28cc7d
+0, 414002, 230400, 0x0a81c0bc
+0, 420002, 230400, 0x71cc0c9a
+0, 426002, 230400, 0x8c01340f
+0, 432002, 230400, 0x4afea48a
+0, 438002, 230400, 0x7dc88c26
+0, 444002, 230400, 0x4155fbbb
+0, 450002, 230400, 0xb1ec2d6b
+0, 456002, 230400, 0x6986ee65
+0, 462002, 230400, 0x8ff9a311
+0, 468002, 230400, 0x36c21c52
+0, 474002, 230400, 0xdb0fad2e
+0, 480002, 230400, 0xc7a83c34
+0, 486002, 230400, 0x8bd97389
+0, 492002, 230400, 0x6dd8f0d6
+0, 498002, 230400, 0x228e2076
+0, 504003, 230400, 0x22544f03
+0, 510003, 230400, 0x938084ef
+0, 516003, 230400, 0xb002cd81
+0, 522003, 230400, 0xe58d3339
+0, 528003, 230400, 0x02470a69
+0, 534003, 230400, 0xa5c51328
+0, 540003, 230400, 0x1a6e37ec
+0, 546003, 230400, 0x8f40563c
+0, 552003, 230400, 0x30f9095f
+0, 558003, 230400, 0x6227f0e8
+0, 564003, 230400, 0xdca3596d
+0, 570003, 230400, 0x30938988
+0, 576003, 230400, 0x28bdc666
+0, 582003, 230400, 0x6c534265
+0, 588003, 230400, 0x6ea56d2d
+0, 594003, 230400, 0x125f3808
+0, 600003, 230400, 0x92a41d2f
+0, 606003, 230400, 0xf1cf2410
+0, 612003, 230400, 0x1bea1204
+0, 618003, 230400, 0x817e60f9
+0, 624003, 230400, 0x9f6c720e
+0, 630003, 230400, 0xf1a43a2f
+0, 636003, 230400, 0x5e5e0b7f
+0, 642003, 230400, 0x7f526bcf
+0, 648003, 230400, 0x63a846ed
+0, 654003, 230400, 0x94400af9
+0, 660003, 230400, 0x51f4241e
diff --git a/tests/ref/fate/msvideo1-16bit b/tests/ref/fate/msvideo1-16bit
index b403311..2b737c6 100644
--- a/tests/ref/fate/msvideo1-16bit
+++ b/tests/ref/fate/msvideo1-16bit
@@ -1,30 +1,30 @@
-0, 0, 65712, 0x917e0076
-0, 6006, 65712, 0xfe76fd1f
-0, 12013, 65712, 0xd85820ee
-0, 18019, 65712, 0x1b410f6e
-0, 24026, 65712, 0x53c50436
-0, 30032, 65712, 0xa191044d
-0, 36039, 65712, 0xcf02ff1f
-0, 42045, 65712, 0xc2abf85f
-0, 48051, 65712, 0xe273087e
-0, 54058, 65712, 0x087d0936
-0, 60064, 65712, 0x4e4f2e96
-0, 66071, 65712, 0x91b51896
-0, 72077, 65712, 0x2798450e
-0, 78083, 65712, 0x9fea1d06
-0, 84090, 65712, 0xc64a2506
-0, 90096, 65712, 0x0551fe07
-0, 96103, 65712, 0xc64a042e
-0, 102109, 65712, 0xf3680dc6
-0, 108116, 65712, 0x2ea5356e
-0, 114122, 65712, 0x0315ed3f
-0, 120128, 65712, 0xc1d1f917
-0, 126135, 65712, 0xc0f6e607
-0, 132141, 65712, 0x5b0a092e
-0, 138148, 65712, 0x1551f16f
-0, 144154, 65712, 0x8440ee87
-0, 150161, 65712, 0xf7581ae6
-0, 156167, 65712, 0xee67037e
-0, 162173, 65712, 0x4a212ca6
-0, 168180, 65712, 0x693e0aa6
-0, 174186, 65712, 0x13e31116
+0, 0, 65712, 0x03ff25b8
+0, 6006, 65712, 0xfca02276
+0, 12013, 65712, 0xd23646e4
+0, 18019, 65712, 0x9ea43556
+0, 24026, 65712, 0x47412948
+0, 30032, 65712, 0x667230c9
+0, 36039, 65712, 0x8224247a
+0, 42045, 65712, 0x9c0f1d71
+0, 48051, 65712, 0x4fbb2e11
+0, 54058, 65712, 0x0e4a2e34
+0, 60064, 65712, 0xd58954c8
+0, 66071, 65712, 0x131d3e2c
+0, 72077, 65712, 0x3b686bc7
+0, 78083, 65712, 0xbea342a7
+0, 84090, 65712, 0xbdff4ac7
+0, 90096, 65712, 0x215e22ab
+0, 96103, 65712, 0xa9f0295f
+0, 102109, 65712, 0x46fb32f3
+0, 108116, 65712, 0xd8be5bee
+0, 114122, 65712, 0x526411b6
+0, 120128, 65712, 0x53951e21
+0, 126135, 65712, 0x54a70ab3
+0, 132141, 65712, 0xcc872e7a
+0, 138148, 65712, 0x06b2164c
+0, 144154, 65712, 0x1ae5135f
+0, 150161, 65712, 0x8d8a40b4
+0, 156167, 65712, 0x3d732893
+0, 162173, 65712, 0x239a52a8
+0, 168180, 65712, 0xf6bd2fc9
+0, 174186, 65712, 0x40b336c4
diff --git a/tests/ref/fate/mtv b/tests/ref/fate/mtv
index 6699f62..db287c2 100644
--- a/tests/ref/fate/mtv
+++ b/tests/ref/fate/mtv
@@ -1,133 +1,133 @@
-0, 0, 18432, 0xbd7e0ac8
+0, 0, 18432, 0x28a25967
 1, 0, 417, 0xae1cc66a
 1, 2351, 418, 0xdc3ec850
 1, 4702, 418, 0x4e8ed05f
-0, 5625, 18432, 0xbd7e0ac8
+0, 5625, 18432, 0x28a25967
 1, 7053, 418, 0xeb43d574
 1, 9404, 418, 0x9357c91d
-0, 11250, 18432, 0x902e0ab4
+0, 11250, 18432, 0x1a1b5956
 1, 11755, 418, 0x5306d16b
 1, 14106, 418, 0x46e0d4da
 1, 16457, 418, 0xac11ce79
-0, 16875, 18432, 0xf1940b28
+0, 16875, 18432, 0x684659c7
 1, 18808, 418, 0xffdfc4ad
 1, 21159, 418, 0xf8a8c2ff
-0, 22500, 18432, 0x2c180ac8
+0, 22500, 18432, 0x8944596a
 1, 23510, 418, 0x2d66d83f
 1, 25861, 418, 0x65c0da12
-0, 28125, 18432, 0x2eae0b34
+0, 28125, 18432, 0xa55159d3
 1, 28212, 418, 0x0eafd20f
 1, 30563, 418, 0x8c6dd949
 1, 32914, 418, 0x9094c02d
-0, 33750, 18432, 0x2eae0b34
+0, 33750, 18432, 0xa55159d3
 1, 35265, 418, 0xb47bd944
 1, 37616, 418, 0x935ccce7
-0, 39375, 18432, 0x2eae0b34
+0, 39375, 18432, 0xa55159d3
 1, 39967, 418, 0x6e3ed020
 1, 42318, 418, 0x8922cd6c
 1, 44669, 418, 0xe811c8f8
-0, 45000, 18432, 0x2eae0b34
+0, 45000, 18432, 0xa55159d3
 1, 47020, 418, 0xb84adc72
 1, 49371, 418, 0xa2bbc5f4
-0, 50625, 18432, 0x2eae0b34
+0, 50625, 18432, 0xa55159d3
 1, 51722, 418, 0xec0cb67d
 1, 54073, 418, 0x89d1d014
-0, 56250, 18432, 0x2eae0b34
+0, 56250, 18432, 0xa55159d3
 1, 56424, 418, 0xfb5bc872
 1, 58776, 417, 0x8bfcc7a0
 1, 61127, 418, 0xeb4ac61b
-0, 61875, 18432, 0x2eae0b34
+0, 61875, 18432, 0xa55159d3
 1, 63478, 418, 0xd3cbc3c4
 1, 65829, 418, 0xa272d092
-0, 67500, 18432, 0x2eae0b34
+0, 67500, 18432, 0xa55159d3
 1, 68180, 418, 0x611ec37e
 1, 70531, 418, 0x70a3d423
 1, 72882, 418, 0xeff9ccf4
-0, 73125, 18432, 0x2eae0b34
+0, 73125, 18432, 0xa55159d3
 1, 75233, 418, 0x9788c65b
 1, 77584, 418, 0xe9a8cb8c
-0, 78750, 18432, 0x2eae0b34
+0, 78750, 18432, 0xa55159d3
 1, 79935, 418, 0x5834c300
 1, 82286, 418, 0xa4b8cd3a
-0, 84375, 18432, 0x2eae0b34
+0, 84375, 18432, 0xa55159d3
 1, 84637, 418, 0x6de2c7f9
 1, 86988, 418, 0x961bbbf3
 1, 89339, 418, 0x53edc13a
-0, 90000, 18432, 0x2c180ac8
+0, 90000, 18432, 0x8944596a
 1, 91690, 418, 0x2fedc4b0
 1, 94041, 418, 0xb756c18b
-0, 95625, 18432, 0x2eae0b34
+0, 95625, 18432, 0xa55159d3
 1, 96392, 418, 0xaf0ed0e4
 1, 98743, 418, 0x019fd3f0
 1, 101094, 418, 0x6e29d83e
-0, 101250, 18432, 0x2c180ac8
+0, 101250, 18432, 0x8944596a
 1, 103445, 418, 0x2ddad6bb
 1, 105796, 418, 0xafefca99
-0, 106875, 18432, 0x2eae0b34
+0, 106875, 18432, 0xa55159d3
 1, 108147, 418, 0x366ed013
 1, 110498, 418, 0x532ac7e0
-0, 112500, 18432, 0x2c180ac8
+0, 112500, 18432, 0x8944596a
 1, 112849, 418, 0x1d0cd1ce
 1, 115200, 417, 0x572ad1e3
 1, 117551, 418, 0x858cd91f
-0, 118125, 18432, 0x2eae0b34
+0, 118125, 18432, 0xa55159d3
 1, 119902, 418, 0x82cacdfd
 1, 122253, 418, 0xf4dcc6ed
-0, 123750, 18432, 0x2c180ac8
+0, 123750, 18432, 0x8944596a
 1, 124604, 418, 0x2cf3ca72
 1, 126955, 418, 0x5963c859
 1, 129306, 418, 0xa667c53d
-0, 129375, 18432, 0x2eae0b34
+0, 129375, 18432, 0xa55159d3
 1, 131657, 418, 0xb2f1d09c
 1, 134008, 418, 0x2ec1c8d3
-0, 135000, 18432, 0x2eae0b34
+0, 135000, 18432, 0xa55159d3
 1, 136359, 418, 0x5754d2e8
 1, 138710, 418, 0x1956bdba
-0, 140625, 18432, 0x2eae0b34
+0, 140625, 18432, 0xa55159d3
 1, 141061, 418, 0x3e18bd55
 1, 143412, 418, 0xe4cfc339
 1, 145763, 418, 0xb426c835
-0, 146250, 18432, 0x2eae0b34
+0, 146250, 18432, 0xa55159d3
 1, 148114, 418, 0xd7b6cbcf
 1, 150465, 418, 0x340ec315
-0, 151875, 18432, 0x2eae0b34
+0, 151875, 18432, 0xa55159d3
 1, 152816, 418, 0x23a9baec
 1, 155167, 418, 0x9f04cd01
-0, 157500, 18432, 0x2eae0b34
+0, 157500, 18432, 0xa55159d3
 1, 157518, 418, 0xa80ec223
 1, 159869, 418, 0x23d6bd5d
 1, 162220, 418, 0xcb25cf5b
-0, 163125, 18432, 0x2eae0b34
+0, 163125, 18432, 0xa55159d3
 1, 164571, 418, 0xccccc217
 1, 166922, 418, 0x757abbfe
-0, 168750, 18432, 0x2eae0b34
+0, 168750, 18432, 0xa55159d3
 1, 169273, 418, 0xa2e6cc68
 1, 171624, 418, 0xdf77cc05
 1, 173976, 417, 0xe9d2c5d5
-0, 174375, 18432, 0x2eae0b34
+0, 174375, 18432, 0xa55159d3
 1, 176327, 418, 0x50dec174
 1, 178678, 418, 0xf654b27e
-0, 180000, 18432, 0x2c180ac8
+0, 180000, 18432, 0x8944596a
 1, 181029, 418, 0x4d8bc26e
 1, 183380, 418, 0xccd2bf37
-0, 185625, 18432, 0x2eae0b34
+0, 185625, 18432, 0xa55159d3
 1, 185731, 418, 0x6ce2c18a
 1, 188082, 418, 0xb3cdcf0c
 1, 190433, 418, 0x55eebe9a
-0, 191250, 18432, 0x2c180ac8
+0, 191250, 18432, 0x8944596a
 1, 192784, 418, 0x9031c9ec
 1, 195135, 418, 0xb037c49d
-0, 196875, 18432, 0x2eae0b34
+0, 196875, 18432, 0xa55159d3
 1, 197486, 418, 0x377bcc78
 1, 199837, 418, 0x3762c725
 1, 202188, 418, 0x39afbd4d
-0, 202500, 18432, 0x2c180ac8
+0, 202500, 18432, 0x8944596a
 1, 204539, 418, 0x655ed6cd
 1, 206890, 418, 0x09aec202
-0, 208125, 18432, 0x2eae0b34
+0, 208125, 18432, 0xa55159d3
 1, 209241, 418, 0xf2d2ce55
 1, 211592, 418, 0x254ebf04
-0, 213750, 18432, 0x2c180ac8
+0, 213750, 18432, 0x8944596a
 1, 213943, 418, 0xa105cdcc
 1, 216294, 418, 0x1477ba58
 1, 218645, 418, 0x8d0dcdb2
diff --git a/tests/ref/fate/ptx b/tests/ref/fate/ptx
index e1688bb..ffcfe3b 100644
--- a/tests/ref/fate/ptx
+++ b/tests/ref/fate/ptx
@@ -1 +1 @@
-0, 0, 393216, 0xda280efc
+0, 0, 393216, 0x019d9950
diff --git a/tests/ref/fate/qtrle-16bit b/tests/ref/fate/qtrle-16bit
index 2f0ca48..6ed472a 100644
--- a/tests/ref/fate/qtrle-16bit
+++ b/tests/ref/fate/qtrle-16bit
@@ -1,83 +1,83 @@
-0, 0, 57600, 0xe6b0a48c
-0, 6000, 57600, 0xe064d51c
-0, 12000, 57600, 0xbfce6b33
-0, 18000, 57600, 0x371bab02
-0, 24000, 57600, 0x0d2d7456
-0, 30000, 57600, 0x9184eecb
-0, 36000, 57600, 0xb482e8db
-0, 42000, 57600, 0x0f4cd4be
-0, 48000, 57600, 0xe276cccb
-0, 54000, 57600, 0x04c21c62
-0, 60000, 57600, 0x848960a2
-0, 66000, 57600, 0xc4c8cf03
-0, 72000, 57600, 0xb4094866
-0, 78000, 57600, 0xf22da043
-0, 84000, 57600, 0x6517b67b
-0, 90000, 57600, 0x23e39ccb
-0, 96000, 57600, 0x41525ca3
-0, 102000, 57600, 0xc3edc5f3
-0, 108000, 57600, 0x8ce81c7e
-0, 114000, 57600, 0x56829443
-0, 120000, 57600, 0x511ce287
-0, 126000, 57600, 0x8f029a5b
-0, 132000, 57600, 0x2b47cf43
-0, 138000, 57600, 0x8e7ecf4b
-0, 144000, 57600, 0xd620317e
-0, 150000, 57600, 0x5987646e
-0, 156000, 57600, 0xcfedb7df
-0, 162000, 57600, 0x33746e7b
-0, 168000, 57600, 0x1d318573
-0, 174000, 57600, 0xc851848b
-0, 180000, 57600, 0x939db1d7
-0, 186000, 57600, 0x1719aed3
-0, 192000, 57600, 0x1ba3e18c
-0, 198000, 57600, 0x04f355fb
-0, 204000, 57600, 0x6fafd5f4
-0, 210000, 57600, 0x434f800b
-0, 216000, 57600, 0xed42179b
-0, 222000, 57600, 0x3b33118b
-0, 228000, 57600, 0xf81880cb
-0, 234000, 57600, 0xd2c58e1b
-0, 240000, 57600, 0xd96f50eb
-0, 246000, 57600, 0x64ef63fb
-0, 252000, 57600, 0x7b14b6fc
-0, 258000, 57600, 0xeb1c9054
-0, 264000, 57600, 0x3b30c97c
-0, 270000, 57600, 0xc93e9484
-0, 276000, 57600, 0xe012c0cc
-0, 282000, 57600, 0x48e2dda4
-0, 288000, 57600, 0x13eb55fb
-0, 294000, 57600, 0xa5edbedc
-0, 300000, 57600, 0x0123a484
-0, 306000, 57600, 0xc624a7ac
-0, 312000, 57600, 0xd83cf45c
-0, 318000, 57600, 0x8f9bf4b4
-0, 324000, 57600, 0x2d494b8c
-0, 330000, 57600, 0xb246f07c
-0, 336000, 57600, 0x5750e67c
-0, 342000, 57600, 0x6643e9ac
-0, 348000, 57600, 0x8d3b86b3
-0, 354000, 57600, 0x4bb0546b
-0, 360000, 57600, 0xfe439333
-0, 366000, 57600, 0x0cc76233
-0, 372000, 57600, 0xb6fe40ae
-0, 378000, 57600, 0xf79fe0d7
-0, 384000, 57600, 0xdc90dcbb
-0, 390000, 57600, 0x371e7c2b
-0, 396000, 57600, 0x7c4590bb
-0, 402000, 57600, 0x66f5454b
-0, 408000, 57600, 0x1678ae5b
-0, 414000, 57600, 0x1ee8fdec
-0, 420000, 57600, 0x98d2a083
-0, 426000, 57600, 0x86d29e5b
-0, 432000, 57600, 0x23d2bc83
-0, 438000, 57600, 0x3fc729f2
-0, 444000, 57600, 0x821d61da
-0, 450000, 57600, 0xdd549e0e
-0, 456000, 57600, 0x641234e2
-0, 462000, 57600, 0x9a282112
-0, 468000, 57600, 0x6587e2fb
-0, 474000, 57600, 0x043d0cb2
-0, 480000, 57600, 0x90328707
-0, 486000, 57600, 0x5744d313
-0, 492000, 57600, 0x6e1b95cb
+0, 0, 57600, 0xcf2d39fc
+0, 6000, 57600, 0xfc9f6bed
+0, 12000, 57600, 0x3f5805bb
+0, 18000, 57600, 0xcb34504e
+0, 24000, 57600, 0x66b6f6e9
+0, 30000, 57600, 0x18698e4d
+0, 36000, 57600, 0x233288d7
+0, 42000, 57600, 0x6b195ac5
+0, 48000, 57600, 0x3b466b45
+0, 54000, 57600, 0x9e3dbd75
+0, 60000, 57600, 0x90ee04b7
+0, 66000, 57600, 0x81096dda
+0, 72000, 57600, 0xef24ca50
+0, 78000, 57600, 0xea7a3da8
+0, 84000, 57600, 0xc3f054c2
+0, 90000, 57600, 0x34af39ec
+0, 96000, 57600, 0xfc31f846
+0, 102000, 57600, 0xa4606399
+0, 108000, 57600, 0x4b8a9c88
+0, 114000, 57600, 0x87db3195
+0, 120000, 57600, 0x443b618d
+0, 126000, 57600, 0x601e380e
+0, 132000, 57600, 0x405c6e6f
+0, 138000, 57600, 0xe6b66f29
+0, 144000, 57600, 0xb8e4b2d1
+0, 150000, 57600, 0x9fc8e7da
+0, 156000, 57600, 0x3bdb363b
+0, 162000, 57600, 0xacac0b6a
+0, 168000, 57600, 0xff3022fb
+0, 174000, 57600, 0x1e5721f3
+0, 180000, 57600, 0x511a3071
+0, 186000, 57600, 0xff6d4dc0
+0, 192000, 57600, 0x5df97a35
+0, 198000, 57600, 0x3877f1b1
+0, 204000, 57600, 0xa9096dd2
+0, 210000, 57600, 0xd36e1ccc
+0, 216000, 57600, 0xdc94b124
+0, 222000, 57600, 0x873fab49
+0, 228000, 57600, 0x7f081dca
+0, 234000, 57600, 0x7df52bc3
+0, 240000, 57600, 0xf41feb99
+0, 246000, 57600, 0xcf59ffeb
+0, 252000, 57600, 0x0dd94dfe
+0, 258000, 57600, 0xfbc52500
+0, 264000, 57600, 0xc300606e
+0, 270000, 57600, 0x01e529b4
+0, 276000, 57600, 0x359a57b0
+0, 282000, 57600, 0xcfee7511
+0, 288000, 57600, 0x2189f139
+0, 294000, 57600, 0xcc535558
+0, 300000, 57600, 0xeed13a76
+0, 306000, 57600, 0xfb5c3ddd
+0, 312000, 57600, 0x36a98c53
+0, 318000, 57600, 0xf4c38c4b
+0, 324000, 57600, 0x53d5df15
+0, 330000, 57600, 0x336d890c
+0, 336000, 57600, 0x19967f1c
+0, 342000, 57600, 0xa36b8224
+0, 348000, 57600, 0xf6ec2490
+0, 354000, 57600, 0x6ffff0d1
+0, 360000, 57600, 0xfcb73114
+0, 366000, 57600, 0x5f5fff35
+0, 372000, 57600, 0xf113c4a0
+0, 378000, 57600, 0x64ca6175
+0, 384000, 57600, 0x3f6f7d15
+0, 390000, 57600, 0x18b619df
+0, 396000, 57600, 0xe6872ed7
+0, 402000, 57600, 0x3641e174
+0, 408000, 57600, 0x4c144d8c
+0, 414000, 57600, 0x82529776
+0, 420000, 57600, 0xd96f3ead
+0, 426000, 57600, 0xce183c4e
+0, 432000, 57600, 0xaa475b24
+0, 438000, 57600, 0xf7c5cbf3
+0, 444000, 57600, 0x798e0548
+0, 450000, 57600, 0x1233241a
+0, 456000, 57600, 0x1424d758
+0, 462000, 57600, 0xa446c264
+0, 468000, 57600, 0x66e082ae
+0, 474000, 57600, 0xb58cacc8
+0, 480000, 57600, 0x3d86431c
+0, 486000, 57600, 0x601b724e
+0, 492000, 57600, 0xbe9a32c8
diff --git a/tests/ref/fate/rpza b/tests/ref/fate/rpza
index 32ea1cf..0fe227e 100644
--- a/tests/ref/fate/rpza
+++ b/tests/ref/fate/rpza
@@ -1,30 +1,30 @@
-0, 0, 230400, 0x4aec80a3
-0, 6000, 230400, 0xb6c41452
-0, 12000, 230400, 0xa6c27f12
-0, 18000, 230400, 0x309bd2d2
-0, 24000, 230400, 0x597a7341
-0, 30000, 230400, 0x597a7341
-0, 36000, 230400, 0xd6d6c569
-0, 42000, 230400, 0x31413d89
-0, 48000, 230400, 0x464e42e9
-0, 54000, 230400, 0x502d7c71
-0, 60000, 230400, 0x502d7c71
-0, 66000, 230400, 0xc96f23d1
-0, 72000, 230400, 0xc96f23d1
-0, 78000, 230400, 0x5bfd2bc7
-0, 84000, 230400, 0x821640a7
-0, 90000, 230400, 0x8f001967
-0, 96000, 230400, 0x406ba109
-0, 102000, 230400, 0x85d99b50
-0, 108000, 230400, 0x2fdb4018
-0, 114000, 230400, 0xfa127259
-0, 120000, 230400, 0xe6427b9b
-0, 126000, 230400, 0xe6427b9b
-0, 132000, 230400, 0x3a279000
-0, 138000, 230400, 0x710755ee
-0, 144000, 230400, 0x76549d35
-0, 150000, 230400, 0xf4d0132c
-0, 156000, 230400, 0xf4d0132c
-0, 162000, 230400, 0x19d7ec14
-0, 168000, 230400, 0x19d7ec14
-0, 174000, 230400, 0x5f24b7e1
+0, 0, 230400, 0x26a4728c
+0, 6000, 230400, 0xa5ff0a21
+0, 12000, 230400, 0x479d767d
+0, 18000, 230400, 0xc619cd01
+0, 24000, 230400, 0x1d377157
+0, 30000, 230400, 0x1d377157
+0, 36000, 230400, 0x0941c629
+0, 42000, 230400, 0xe64b3a93
+0, 48000, 230400, 0x28493fd7
+0, 54000, 230400, 0x18c77af2
+0, 60000, 230400, 0x18c77af2
+0, 66000, 230400, 0x5a542008
+0, 72000, 230400, 0x5a542008
+0, 78000, 230400, 0x3b1a34fd
+0, 84000, 230400, 0x77d34944
+0, 90000, 230400, 0x50ac218c
+0, 96000, 230400, 0xcb999f16
+0, 102000, 230400, 0xe1ce9f19
+0, 108000, 230400, 0xb10b4264
+0, 114000, 230400, 0x61207031
+0, 120000, 230400, 0x81626d5b
+0, 126000, 230400, 0x81626d5b
+0, 132000, 230400, 0x1cb59751
+0, 138000, 230400, 0x316e6962
+0, 144000, 230400, 0x4c01b829
+0, 150000, 230400, 0x276e32bc
+0, 156000, 230400, 0x276e32bc
+0, 162000, 230400, 0xe251117a
+0, 168000, 230400, 0xe251117a
+0, 174000, 230400, 0x41b7f098
diff --git a/tests/ref/fate/truemotion1-15 b/tests/ref/fate/truemotion1-15
index d9925c7..149fd5e 100644
--- a/tests/ref/fate/truemotion1-15
+++ b/tests/ref/fate/truemotion1-15
@@ -1,218 +1,218 @@
-0, 0, 161280, 0x7041748d
+0, 0, 161280, 0x677c9fb3
 1, 0, 10836, 0x2a531236
 1, 5529, 10836, 0xc58f45af
-0, 6000, 161280, 0x3cc4dfb5
+0, 6000, 161280, 0xaa280e0a
 1, 11057, 10836, 0x436cf135
-0, 12000, 161280, 0xca3af22d
+0, 12000, 161280, 0x8a4d2225
 1, 16586, 10836, 0x3a6022cc
-0, 18000, 161280, 0x23ad1d85
+0, 18000, 161280, 0xf10f46a8
 1, 22114, 10836, 0x57e83a4a
-0, 24000, 161280, 0x9c9cf364
+0, 24000, 161280, 0x98d9eab6
 1, 27643, 10836, 0xca4b3a1b
-0, 30000, 161280, 0x1551d6a8
+0, 30000, 161280, 0xa543ae1e
 1, 33171, 10836, 0xc3da7536
-0, 36000, 161280, 0xc39f6b95
+0, 36000, 161280, 0x79d717ae
 1, 38700, 10836, 0x8c57d47b
-0, 42000, 161280, 0x3b036dcc
+0, 42000, 161280, 0x1a87e2cb
 1, 44229, 10836, 0x9a79572b
-0, 48000, 161280, 0xa6fac1db
+0, 48000, 161280, 0xe5c000ac
 1, 49757, 10836, 0x7dbd6fd3
-0, 54000, 161280, 0x67656b62
+0, 54000, 161280, 0xa5827077
 1, 55286, 10836, 0x4454fdde
-0, 60000, 161280, 0xb41f47d1
+0, 60000, 161280, 0xfd0615ee
 1, 60814, 10836, 0x68aae686
-0, 66000, 161280, 0xc207249e
+0, 66000, 161280, 0xc6fdc861
 1, 66343, 10836, 0x61f2df35
 1, 71871, 10836, 0xe36883c6
-0, 72000, 161280, 0xbee8f843
+0, 72000, 161280, 0xaa007c7e
 1, 77400, 10836, 0xefa62217
-0, 78000, 161280, 0x092acf46
+0, 78000, 161280, 0xf15e3a96
 1, 82929, 10836, 0x63b92479
-0, 84000, 161280, 0x8d9e2680
+0, 84000, 161280, 0xce827ae1
 1, 88457, 10836, 0xaf452579
-0, 90000, 161280, 0x8becc20c
+0, 90000, 161280, 0xf379fc13
 1, 93986, 10836, 0xdbb10001
-0, 96000, 161280, 0x655e444e
+0, 96000, 161280, 0x89686a0c
 1, 99514, 10836, 0xafb7f7a7
-0, 102000, 161280, 0x5c112da0
+0, 102000, 161280, 0x7e8342bd
 1, 105043, 10836, 0xd4b1e591
-0, 108000, 161280, 0x232fa9eb
+0, 108000, 161280, 0x640dab86
 1, 110571, 10836, 0x4d44b3bb
-0, 114000, 161280, 0x9721745d
+0, 114000, 161280, 0xc6a86456
 1, 116100, 10836, 0xff2ea5b3
-0, 120000, 161280, 0x92f1d880
+0, 120000, 161280, 0xe360b538
 1, 121629, 10836, 0x214e88ad
-0, 126000, 161280, 0x16233978
+0, 126000, 161280, 0xbcc21064
 1, 127157, 10836, 0xde8bfc9a
-0, 132000, 161280, 0x19a27e69
+0, 132000, 161280, 0x95bc4e63
 1, 132686, 10836, 0xb3cc4b6a
-0, 138000, 161280, 0x7b6ad73a
+0, 138000, 161280, 0x390fa1bd
 1, 138214, 10836, 0x670bce40
 1, 143743, 10836, 0xc17d31b2
-0, 144000, 161280, 0xa7a674aa
+0, 144000, 161280, 0xa35b3bb9
 1, 149271, 10836, 0x7bcb9392
-0, 150000, 161280, 0x4e434abb
+0, 150000, 161280, 0x730b0779
 1, 154800, 10836, 0x230e28c9
-0, 156000, 161280, 0xb96eea14
+0, 156000, 161280, 0xf3c3a3eb
 1, 160329, 10836, 0x42df4204
-0, 162000, 161280, 0x1350188c
+0, 162000, 161280, 0x676ecbaa
 1, 165857, 10836, 0xfa9134b9
-0, 168000, 161280, 0x79c6f305
+0, 168000, 161280, 0x06c4a4e5
 1, 171386, 10836, 0x418c1844
-0, 174000, 161280, 0xa9c7782d
+0, 174000, 161280, 0x177d26d9
 1, 176914, 10836, 0x93ba66b6
-0, 180000, 161280, 0x40a4f456
+0, 180000, 161280, 0xdaf69ebe
 1, 182443, 10836, 0x264a4ffa
-0, 186000, 161280, 0xaf291ed6
+0, 186000, 161280, 0xabadc296
 1, 187971, 10836, 0x82c78a8e
-0, 192000, 161280, 0xab29b4e1
+0, 192000, 161280, 0xec144665
 1, 193500, 10836, 0x10d22fdc
-0, 198000, 161280, 0xbfcd2712
+0, 198000, 161280, 0x6785aa48
 1, 199029, 10836, 0x2d25906b
-0, 204000, 161280, 0xff22a0d7
+0, 204000, 161280, 0x2a0cfcaf
 1, 204557, 10836, 0xa8a111fb
-0, 210000, 161280, 0xb0ae88a9
+0, 210000, 161280, 0x9288d513
 1, 210086, 10836, 0xbd95df87
 1, 215614, 10836, 0x500ddec0
-0, 216000, 161280, 0x811d1259
+0, 216000, 161280, 0x1d295ad0
 1, 221143, 10836, 0x95d9350b
-0, 222000, 161280, 0x593c39a1
+0, 222000, 161280, 0xb9fd8406
 1, 226671, 10836, 0xfa54ea1f
-0, 228000, 161280, 0x5a5a97f8
+0, 228000, 161280, 0x98bced49
 1, 232200, 10836, 0x51b2467e
-0, 234000, 161280, 0xa5639ecf
+0, 234000, 161280, 0x42e6fbae
 1, 237729, 10836, 0x5d772af9
-0, 240000, 161280, 0x543920c6
+0, 240000, 161280, 0xfd218209
 1, 243257, 10836, 0xae25dd8d
-0, 246000, 161280, 0xb41689ee
+0, 246000, 161280, 0x21c2ef31
 1, 248786, 10836, 0xe4bd0cb0
-0, 252000, 161280, 0xc0ad83de
+0, 252000, 161280, 0xce4be932
 1, 254314, 10836, 0xb33544f0
-0, 258000, 161280, 0x9e9e7456
+0, 258000, 161280, 0xd5c0d5fc
 1, 259843, 10836, 0xd5658b12
-0, 264000, 161280, 0x777ccbfe
+0, 264000, 161280, 0xf8d13076
 1, 265371, 10836, 0xeff66e5d
-0, 270000, 161280, 0x9c2df916
+0, 270000, 161280, 0xdbf86007
 1, 270900, 10836, 0xb1fff6c5
-0, 276000, 161280, 0xe0c13b35
+0, 276000, 161280, 0x9475a651
 1, 276429, 10836, 0x84db56b5
 1, 281957, 10836, 0x0230e3c9
-0, 282000, 161280, 0x39bfa5a5
+0, 282000, 161280, 0x41bf1542
 1, 287486, 10836, 0xe58a7faf
-0, 288000, 161280, 0x35dfb264
+0, 288000, 161280, 0x6945297f
 1, 293014, 10836, 0xc4003e2a
-0, 294000, 161280, 0x43018613
+0, 294000, 161280, 0x2282025e
 1, 298543, 10836, 0x6360cbbf
-0, 300000, 161280, 0x43584b8a
+0, 300000, 161280, 0x55aace0c
 1, 304071, 10836, 0xc29c2a05
-0, 306000, 161280, 0xa5cd230a
+0, 306000, 161280, 0xc78aa51c
 1, 309600, 10836, 0xb294dd11
-0, 312000, 161280, 0x6fe2cfb3
+0, 312000, 161280, 0xb4b84e6c
 1, 315129, 10836, 0x4388b43b
-0, 318000, 161280, 0x88a7c0db
+0, 318000, 161280, 0x3bbb3e44
 1, 320657, 10836, 0xdd7be367
-0, 324000, 161280, 0x476f1cd2
+0, 324000, 161280, 0x4dd89d80
 1, 326186, 10836, 0xb9f612a9
-0, 330000, 161280, 0x96401d49
+0, 330000, 161280, 0xa446a5c5
 1, 331714, 10836, 0xb64a39fe
-0, 336000, 161280, 0x7d932919
+0, 336000, 161280, 0x8f56b1d6
 1, 337243, 10836, 0x6eba6594
-0, 342000, 161280, 0x06465481
+0, 342000, 161280, 0xa170df87
 1, 342771, 10836, 0xb4af35c1
-0, 348000, 161280, 0x39631520
+0, 348000, 161280, 0x4740a4df
 1, 348300, 10836, 0x4e581c49
 1, 353829, 10836, 0xb062a19f
-0, 354000, 161280, 0xc3fff780
+0, 354000, 161280, 0x86608ee7
 1, 359357, 10836, 0x87cd6135
-0, 360000, 161280, 0xa81faf28
+0, 360000, 161280, 0x629b4543
 1, 364886, 10836, 0x37bffbd6
-0, 366000, 161280, 0x7a311f4f
+0, 366000, 161280, 0x697fb952
 1, 370414, 10836, 0x6c797900
-0, 372000, 161280, 0x52f9b931
+0, 372000, 161280, 0x98e84a51
 1, 375943, 10836, 0x1615df36
-0, 378000, 161280, 0x938cf016
+0, 378000, 161280, 0x97949a90
 1, 381471, 10836, 0xb472d9e9
-0, 384000, 161280, 0xf8f6e19c
+0, 384000, 161280, 0x6a8c9b96
 1, 387000, 10836, 0xdfff626e
-0, 390000, 161280, 0xca90561b
+0, 390000, 161280, 0xafa714ab
 1, 392529, 10836, 0xffa6d771
-0, 396000, 161280, 0x8594d06b
+0, 396000, 161280, 0x0cf39314
 1, 398057, 10836, 0xa7f3cf96
-0, 402000, 161280, 0xea32bf3b
+0, 402000, 161280, 0x9ccc8171
 1, 403586, 10836, 0xf556b50a
-0, 408000, 161280, 0x4646111a
+0, 408000, 161280, 0x8232d5a8
 1, 409114, 10836, 0x99b86b39
-0, 414000, 161280, 0xee891162
+0, 414000, 161280, 0x250dd5cb
 1, 414643, 10836, 0x886920d3
-0, 420000, 161280, 0xcfc32082
+0, 420000, 161280, 0xf764e43a
 1, 420171, 10836, 0xefb0305a
 1, 425700, 10836, 0x4ab7aa32
-0, 426000, 161280, 0x863c281a
+0, 426000, 161280, 0x2f4bec00
 1, 431229, 10836, 0x7f106530
-0, 432000, 161280, 0x01b591aa
+0, 432000, 161280, 0x76f1598b
 1, 436757, 10836, 0x6461559a
-0, 438000, 161280, 0x211fbc62
+0, 438000, 161280, 0xa91b84da
 1, 442286, 10836, 0x25e3b12b
-0, 444000, 161280, 0xae2bafe2
+0, 444000, 161280, 0x011a77fb
 1, 447814, 10836, 0x32cfa3ba
-0, 450000, 161280, 0xcfe46dca
+0, 450000, 161280, 0xdbf5341c
 1, 453343, 10836, 0x0bff78a4
-0, 456000, 161280, 0xcf8fe8a3
+0, 456000, 161280, 0x40d5abfa
 1, 458871, 10836, 0xe4323d53
-0, 462000, 161280, 0x3f8474eb
+0, 462000, 161280, 0x9fb8360c
 1, 464400, 10836, 0x70b35196
-0, 468000, 161280, 0x06da345a
+0, 468000, 161280, 0xabc5fba8
 1, 469929, 10836, 0xf2b8b07f
-0, 474000, 161280, 0xbd4d3280
+0, 474000, 161280, 0x98090909
 1, 475457, 10836, 0x826cc972
-0, 480000, 161280, 0xb5e70fea
+0, 480000, 161280, 0x9a3613bd
 1, 480986, 10836, 0x8a0fdce8
-0, 486000, 161280, 0x0c99c804
+0, 486000, 161280, 0x9071024f
 1, 486514, 10836, 0xa072a503
-0, 492000, 161280, 0x19841ed4
+0, 492000, 161280, 0x4df39487
 1, 492043, 10836, 0xd698d8e7
 1, 497571, 10836, 0xfe80e794
-0, 498000, 161280, 0xf81dea50
+0, 498000, 161280, 0x17658524
 1, 503100, 10836, 0xdd580a5a
-0, 504000, 161280, 0x7777d81c
+0, 504000, 161280, 0xbcd794df
 1, 508629, 10836, 0x121bc1bb
-0, 510000, 161280, 0x0497cfd8
+0, 510000, 161280, 0x2a14ae05
 1, 514157, 10836, 0x8cebd7d9
-0, 516000, 161280, 0x50b6eb64
+0, 516000, 161280, 0x664feab2
 1, 519686, 10836, 0x6eaef4d7
-0, 522000, 161280, 0x5071fc07
+0, 522000, 161280, 0xf6b721f4
 1, 525214, 10836, 0x8f0b5d0b
-0, 528000, 161280, 0xbb7527fb
+0, 528000, 161280, 0xfec565f3
 1, 530743, 10836, 0x40ccf61f
-0, 534000, 161280, 0x13054f1f
+0, 534000, 161280, 0xd39aabee
 1, 536271, 10836, 0xb6db5f1d
-0, 540000, 161280, 0x4b78fb27
+0, 540000, 161280, 0x1f3d5de7
 1, 541800, 10836, 0xa089f250
-0, 546000, 161280, 0xf504968f
+0, 546000, 161280, 0xaf97f50c
 1, 547329, 10836, 0xd3512f2b
-0, 552000, 161280, 0x555b10b7
+0, 552000, 161280, 0xe34b6b6a
 1, 552857, 10836, 0xfa127f74
-0, 558000, 161280, 0xcc0dde40
+0, 558000, 161280, 0x4117371e
 1, 558386, 10836, 0xd6a60ead
 1, 563914, 10836, 0x00000000
-0, 564000, 161280, 0xcc0dde40
+0, 564000, 161280, 0x4117371e
 1, 569443, 10836, 0x00000000
-0, 570000, 161280, 0x367f60c8
+0, 570000, 161280, 0xe555b55e
 1, 574971, 10836, 0x00000000
-0, 576000, 161280, 0x367f60c8
+0, 576000, 161280, 0xe555b55e
 1, 580500, 10836, 0x00000000
-0, 582000, 161280, 0x367f60c8
+0, 582000, 161280, 0xe555b55e
 1, 586029, 10836, 0x00000000
-0, 588000, 161280, 0x367f60c8
+0, 588000, 161280, 0xe555b55e
 1, 591557, 10836, 0x00000000
-0, 594000, 161280, 0x367f60c8
+0, 594000, 161280, 0xe555b55e
 1, 597086, 10836, 0x00000000
-0, 600000, 161280, 0x367f60c8
+0, 600000, 161280, 0xe555b55e
 1, 602614, 10836, 0x00000000
-0, 606000, 161280, 0x367f60c8
+0, 606000, 161280, 0xe555b55e
 1, 608143, 10836, 0x00000000
-0, 612000, 161280, 0x367f60c8
+0, 612000, 161280, 0xe555b55e
 1, 613671, 10836, 0x00000000
-0, 618000, 161280, 0x367f60c8
+0, 618000, 161280, 0xe555b55e
 1, 619200, 10836, 0x00000000
-0, 624000, 161280, 0x367f60c8
+0, 624000, 161280, 0xe555b55e
diff --git a/tests/ref/fate/tscc-15bit b/tests/ref/fate/tscc-15bit
index bc55f0f..1fd015e 100644
--- a/tests/ref/fate/tscc-15bit
+++ b/tests/ref/fate/tscc-15bit
@@ -1,240 +1,240 @@
-0, 0, 657600, 0xaf456809
+0, 0, 657600, 0x50b3a0c2
 1, 0, 22050, 0x1740aaec
-0, 6000, 657600, 0xaf456809
-0, 12000, 657600, 0xaf456809
-0, 18000, 657600, 0x2dbe6889
-0, 24000, 657600, 0x2dbe6889
-0, 30000, 657600, 0x2dbe6889
-0, 36000, 657600, 0x2dbe6889
-0, 42000, 657600, 0x2dbe6889
-0, 48000, 657600, 0x2dbe6889
-0, 54000, 657600, 0x2dbe6889
-0, 60000, 657600, 0x2dbe6889
-0, 66000, 657600, 0x2dbe6889
-0, 72000, 657600, 0x2dbe6889
-0, 78000, 657600, 0x2dbe6889
-0, 84000, 657600, 0x2dbe6889
-0, 90000, 657600, 0x2dbe6889
+0, 6000, 657600, 0x50b3a0c2
+0, 12000, 657600, 0x50b3a0c2
+0, 18000, 657600, 0x661aa145
+0, 24000, 657600, 0x661aa145
+0, 30000, 657600, 0x661aa145
+0, 36000, 657600, 0x661aa145
+0, 42000, 657600, 0x661aa145
+0, 48000, 657600, 0x661aa145
+0, 54000, 657600, 0x661aa145
+0, 60000, 657600, 0x661aa145
+0, 66000, 657600, 0x661aa145
+0, 72000, 657600, 0x661aa145
+0, 78000, 657600, 0x661aa145
+0, 84000, 657600, 0x661aa145
+0, 90000, 657600, 0x661aa145
 1, 90000, 22050, 0x75ed6086
-0, 96000, 657600, 0x2dbe6889
-0, 102000, 657600, 0x2dbe6889
-0, 108000, 657600, 0x2dbe6889
-0, 114000, 657600, 0x2dbe6889
-0, 120000, 657600, 0x2dbe6889
-0, 126000, 657600, 0x92796e59
-0, 132000, 657600, 0x92796e59
-0, 138000, 657600, 0x92796e59
-0, 144000, 657600, 0x64cb6889
-0, 150000, 657600, 0x64cb6889
-0, 156000, 657600, 0x64cb6889
-0, 162000, 657600, 0x64cb6889
-0, 168000, 657600, 0x64cb6889
-0, 174000, 657600, 0x64cb6889
-0, 180000, 657600, 0x42036b71
+0, 96000, 657600, 0x661aa145
+0, 102000, 657600, 0x661aa145
+0, 108000, 657600, 0x661aa145
+0, 114000, 657600, 0x661aa145
+0, 120000, 657600, 0x661aa145
+0, 126000, 657600, 0x3c29a73f
+0, 132000, 657600, 0x3c29a73f
+0, 138000, 657600, 0x3c29a73f
+0, 144000, 657600, 0xee2ca145
+0, 150000, 657600, 0xee2ca145
+0, 156000, 657600, 0xee2ca145
+0, 162000, 657600, 0xee2ca145
+0, 168000, 657600, 0xee2ca145
+0, 174000, 657600, 0xee2ca145
+0, 180000, 657600, 0xeb6fa442
 1, 180000, 22050, 0xca52a4e9
-0, 186000, 657600, 0x42036b71
-0, 192000, 657600, 0x42036b71
-0, 198000, 657600, 0xc40a6889
-0, 204000, 657600, 0xc40a6889
-0, 210000, 657600, 0xc40a6889
-0, 216000, 657600, 0xaa6f7429
-0, 222000, 657600, 0xaa6f7429
-0, 228000, 657600, 0xaa6f7429
-0, 234000, 657600, 0x854172d9
-0, 240000, 657600, 0x854172d9
-0, 246000, 657600, 0x854172d9
-0, 252000, 657600, 0x22d10de0
-0, 258000, 657600, 0xa75f0d60
-0, 264000, 657600, 0x7a440be0
-0, 270000, 657600, 0x40095d50
+0, 186000, 657600, 0xeb6fa442
+0, 192000, 657600, 0xeb6fa442
+0, 198000, 657600, 0xb235a145
+0, 204000, 657600, 0xb235a145
+0, 210000, 657600, 0xb235a145
+0, 216000, 657600, 0x39f7ad39
+0, 222000, 657600, 0x39f7ad39
+0, 228000, 657600, 0x39f7ad39
+0, 234000, 657600, 0xb851abda
+0, 240000, 657600, 0xb851abda
+0, 246000, 657600, 0xb851abda
+0, 252000, 657600, 0xf6574b22
+0, 258000, 657600, 0x1a154a9f
+0, 264000, 657600, 0x3de64916
+0, 270000, 657600, 0xca3d9cd5
 1, 270000, 22050, 0xb306d419
-0, 276000, 657600, 0x40095d50
-0, 282000, 657600, 0x64766320
-0, 288000, 657600, 0x64766320
-0, 294000, 657600, 0x64766320
-0, 300000, 657600, 0x64766320
-0, 306000, 657600, 0x64766320
-0, 312000, 657600, 0x64766320
-0, 318000, 657600, 0x64766320
-0, 324000, 657600, 0x64766320
-0, 330000, 657600, 0x64766320
-0, 336000, 657600, 0x64766320
-0, 342000, 657600, 0xf51adc49
-0, 348000, 657600, 0xf51adc49
-0, 354000, 657600, 0xf51adc49
-0, 360000, 657600, 0xdd47af59
+0, 276000, 657600, 0xca3d9cd5
+0, 282000, 657600, 0x4779a2cf
+0, 288000, 657600, 0x4779a2cf
+0, 294000, 657600, 0x4779a2cf
+0, 300000, 657600, 0x4779a2cf
+0, 306000, 657600, 0x4779a2cf
+0, 312000, 657600, 0x4779a2cf
+0, 318000, 657600, 0x4779a2cf
+0, 324000, 657600, 0x4779a2cf
+0, 330000, 657600, 0x4779a2cf
+0, 336000, 657600, 0x4779a2cf
+0, 342000, 657600, 0x29af1818
+0, 348000, 657600, 0x29af1818
+0, 354000, 657600, 0x29af1818
+0, 360000, 657600, 0x77ace9c5
 1, 360000, 22050, 0x8cbb9625
-0, 366000, 657600, 0xdd47af59
-0, 372000, 657600, 0xffa8acf1
-0, 378000, 657600, 0x5994b059
-0, 384000, 657600, 0x5994b059
-0, 390000, 657600, 0x5994b059
-0, 396000, 657600, 0x03ffae71
-0, 402000, 657600, 0x03ffae71
-0, 408000, 657600, 0x03ffae71
-0, 414000, 657600, 0xe33ab89e
-0, 420000, 657600, 0xe33ab89e
-0, 426000, 657600, 0xe33ab89e
-0, 432000, 657600, 0xbe37b549
-0, 438000, 657600, 0xbe37b549
-0, 444000, 657600, 0x1d395bf9
-0, 450000, 657600, 0x1d395bf9
+0, 366000, 657600, 0x77ace9c5
+0, 372000, 657600, 0x61b8e74b
+0, 378000, 657600, 0x8c6deace
+0, 384000, 657600, 0x8c6deace
+0, 390000, 657600, 0x8c6deace
+0, 396000, 657600, 0xbe1fe8d7
+0, 402000, 657600, 0xbe1fe8d7
+0, 408000, 657600, 0xbe1fe8d7
+0, 414000, 657600, 0x633209db
+0, 420000, 657600, 0x633209db
+0, 426000, 657600, 0x633209db
+0, 432000, 657600, 0x3148adb5
+0, 438000, 657600, 0x3148adb5
+0, 444000, 657600, 0x3b5f5216
+0, 450000, 657600, 0x3b5f5216
 1, 450000, 22050, 0x34a11f66
-0, 456000, 657600, 0x1d395bf9
-0, 462000, 657600, 0x1d395bf9
-0, 468000, 657600, 0x2ec36f37
-0, 474000, 657600, 0x2ec36f37
-0, 480000, 657600, 0xb04a6eb7
-0, 486000, 657600, 0x66610458
-0, 492000, 657600, 0x66610458
-0, 498000, 657600, 0xaf8901f0
-0, 504000, 657600, 0x3ae41c48
-0, 510000, 657600, 0x5b870b70
-0, 516000, 657600, 0x11490c60
-0, 522000, 657600, 0x70064801
-0, 528000, 657600, 0x80d54519
-0, 534000, 657600, 0xe8c942b1
-0, 540000, 657600, 0x830d8c24
+0, 456000, 657600, 0x3b5f5216
+0, 462000, 657600, 0x3b5f5216
+0, 468000, 657600, 0x5e51fb89
+0, 474000, 657600, 0x5e51fb89
+0, 480000, 657600, 0x48eafb06
+0, 486000, 657600, 0x9f7a8653
+0, 492000, 657600, 0x9f7a8653
+0, 498000, 657600, 0x29fc83d9
+0, 504000, 657600, 0xe7689f10
+0, 510000, 657600, 0x9f788dba
+0, 516000, 657600, 0x0e808eb2
+0, 522000, 657600, 0x3ec53d79
+0, 528000, 657600, 0x67ca3a7c
+0, 534000, 657600, 0xf7583802
+0, 540000, 657600, 0x239e2fc6
 1, 540000, 22050, 0x1ae81230
-0, 546000, 657600, 0x830d8c24
-0, 552000, 657600, 0x830d8c24
-0, 558000, 657600, 0xf3c4707c
-0, 564000, 657600, 0x6ace707c
-0, 570000, 657600, 0x6ace707c
-0, 576000, 657600, 0x6ace707c
-0, 582000, 657600, 0x6ace707c
-0, 588000, 657600, 0x6ace707c
-0, 594000, 657600, 0x5f461aae
-0, 600000, 657600, 0x5f461aae
-0, 606000, 657600, 0x221ceecf
-0, 612000, 657600, 0x221ceecf
-0, 618000, 657600, 0x221ceecf
-0, 624000, 657600, 0x221ceecf
-0, 630000, 657600, 0x221ceecf
+0, 546000, 657600, 0x239e2fc6
+0, 552000, 657600, 0x239e2fc6
+0, 558000, 657600, 0x001c134c
+0, 564000, 657600, 0x5c85134c
+0, 570000, 657600, 0x5c85134c
+0, 576000, 657600, 0x5c85134c
+0, 582000, 657600, 0x5c85134c
+0, 588000, 657600, 0x5c85134c
+0, 594000, 657600, 0x5fef8bea
+0, 600000, 657600, 0x5fef8bea
+0, 606000, 657600, 0x23135efa
+0, 612000, 657600, 0x23135efa
+0, 618000, 657600, 0x23135efa
+0, 624000, 657600, 0x23135efa
+0, 630000, 657600, 0x23135efa
 1, 630000, 22050, 0x1217eeba
-0, 636000, 657600, 0x221ceecf
-0, 642000, 657600, 0x221ceecf
-0, 648000, 657600, 0x3bf6f39f
-0, 654000, 657600, 0x3bf6f39f
-0, 660000, 657600, 0x3bf6f39f
-0, 666000, 657600, 0xc2caeecf
-0, 672000, 657600, 0xc2caeecf
-0, 678000, 657600, 0xc2caeecf
-0, 684000, 657600, 0xc316d63e
-0, 690000, 657600, 0xc316d63e
-0, 696000, 657600, 0xc316d63e
-0, 702000, 657600, 0x41f6218d
-0, 708000, 657600, 0x41f6218d
-0, 714000, 657600, 0x41f6218d
-0, 720000, 657600, 0xff43ec36
+0, 636000, 657600, 0x23135efa
+0, 642000, 657600, 0x23135efa
+0, 648000, 657600, 0x50cf63ee
+0, 654000, 657600, 0x50cf63ee
+0, 660000, 657600, 0x50cf63ee
+0, 666000, 657600, 0x2f5c5efa
+0, 672000, 657600, 0x2f5c5efa
+0, 678000, 657600, 0x2f5c5efa
+0, 684000, 657600, 0x9980d3c1
+0, 690000, 657600, 0x9980d3c1
+0, 696000, 657600, 0x9980d3c1
+0, 702000, 657600, 0x23f02141
+0, 708000, 657600, 0x23f02141
+0, 714000, 657600, 0x23f02141
+0, 720000, 657600, 0x3d31ea57
 1, 720000, 22050, 0x50e70baa
-0, 726000, 657600, 0x0b10eb16
-0, 732000, 657600, 0x0b10eb16
-0, 738000, 657600, 0xbdf41aa5
-0, 744000, 657600, 0xbdf41aa5
-0, 750000, 657600, 0xbdf41aa5
-0, 756000, 657600, 0xd502ca06
-0, 762000, 657600, 0xd502ca06
-0, 768000, 657600, 0xd502ca06
-0, 774000, 657600, 0x8446f89e
-0, 780000, 657600, 0x8446f89e
-0, 786000, 657600, 0x8446f89e
-0, 792000, 657600, 0x3d4ccf06
-0, 798000, 657600, 0x0897d1de
-0, 804000, 657600, 0x0897d1de
-0, 810000, 657600, 0x3e27e01e
+0, 726000, 657600, 0x1e9be92f
+0, 732000, 657600, 0x1e9be92f
+0, 738000, 657600, 0x05091a2e
+0, 744000, 657600, 0x05091a2e
+0, 750000, 657600, 0x05091a2e
+0, 756000, 657600, 0xd214c71a
+0, 762000, 657600, 0xd214c71a
+0, 768000, 657600, 0xd214c71a
+0, 774000, 657600, 0x3b07f720
+0, 780000, 657600, 0x3b07f720
+0, 786000, 657600, 0x3b07f720
+0, 792000, 657600, 0x02becc42
+0, 798000, 657600, 0x3d8fcf2e
+0, 804000, 657600, 0x3d8fcf2e
+0, 810000, 657600, 0xec51ddd7
 1, 810000, 22050, 0xb19e89c0
-0, 816000, 657600, 0x3e27e01e
-0, 822000, 657600, 0x3e27e01e
-0, 828000, 657600, 0x3e27e01e
-0, 834000, 657600, 0x3e27e01e
-0, 840000, 657600, 0x3e27e01e
-0, 846000, 657600, 0xe51078a8
-0, 852000, 657600, 0xe51078a8
-0, 858000, 657600, 0xe9967a40
-0, 864000, 657600, 0xe9967a40
-0, 870000, 657600, 0xe9967a40
-0, 876000, 657600, 0xe9967a40
-0, 882000, 657600, 0xe9967a40
-0, 888000, 657600, 0xe9967a40
-0, 894000, 657600, 0xe9967a40
-0, 900000, 657600, 0x726cb6b8
+0, 816000, 657600, 0xec51ddd7
+0, 822000, 657600, 0xec51ddd7
+0, 828000, 657600, 0xec51ddd7
+0, 834000, 657600, 0xec51ddd7
+0, 840000, 657600, 0xec51ddd7
+0, 846000, 657600, 0x40a3b905
+0, 852000, 657600, 0x40a3b905
+0, 858000, 657600, 0xbfc5baa9
+0, 864000, 657600, 0xbfc5baa9
+0, 870000, 657600, 0xbfc5baa9
+0, 876000, 657600, 0xbfc5baa9
+0, 882000, 657600, 0xbfc5baa9
+0, 888000, 657600, 0xbfc5baa9
+0, 894000, 657600, 0xbfc5baa9
+0, 900000, 657600, 0x54a2f8dd
 1, 900000, 22050, 0x78526696
-0, 906000, 657600, 0x2960b6e8
-0, 912000, 657600, 0x2960b6e8
-0, 918000, 657600, 0x1637d6c8
-0, 924000, 657600, 0x6f2fd9b0
-0, 930000, 657600, 0x27a7d6c8
-0, 936000, 657600, 0xe855d6c8
-0, 942000, 657600, 0xe855d6c8
-0, 948000, 657600, 0xe855d6c8
-0, 954000, 657600, 0x1a8ad6c8
-0, 960000, 657600, 0x9c11d648
-0, 966000, 657600, 0x6136d648
-0, 972000, 657600, 0xdfa0d6c8
-0, 978000, 657600, 0xdfa0d6c8
-0, 984000, 657600, 0xdfa0d6c8
-0, 990000, 657600, 0xdfa0d6c8
+0, 906000, 657600, 0x0b96f90d
+0, 912000, 657600, 0x0b96f90d
+0, 918000, 657600, 0xa18119e9
+0, 924000, 657600, 0x70a11ce6
+0, 930000, 657600, 0xb36f19e9
+0, 936000, 657600, 0xeb2219e9
+0, 942000, 657600, 0xeb2219e9
+0, 948000, 657600, 0xeb2219e9
+0, 954000, 657600, 0xb98f19e9
+0, 960000, 657600, 0xa4281966
+0, 966000, 657600, 0xf0e61966
+0, 972000, 657600, 0x065c19e9
+0, 978000, 657600, 0x065c19e9
+0, 984000, 657600, 0x065c19e9
+0, 990000, 657600, 0x065c19e9
 1, 990000, 22050, 0x48e3bb21
-0, 996000, 657600, 0xdfa0d6c8
-0, 1002000, 657600, 0xdfa0d6c8
-0, 1008000, 657600, 0xdfa0d6c8
-0, 1014000, 657600, 0xdfa0d6c8
-0, 1020000, 657600, 0xdfa0d6c8
-0, 1026000, 657600, 0x125cd9b0
-0, 1032000, 657600, 0x125cd9b0
-0, 1038000, 657600, 0x8a7ed6c8
-0, 1044000, 657600, 0x09a6d9b0
-0, 1050000, 657600, 0x09a6d9b0
-0, 1056000, 657600, 0x09a6d9b0
-0, 1062000, 657600, 0x85e87a68
-0, 1068000, 657600, 0x85e87a68
-0, 1074000, 657600, 0x85e87a68
-0, 1080000, 657600, 0xb0a141a8
+0, 996000, 657600, 0x065c19e9
+0, 1002000, 657600, 0x065c19e9
+0, 1008000, 657600, 0x065c19e9
+0, 1014000, 657600, 0x065c19e9
+0, 1020000, 657600, 0x065c19e9
+0, 1026000, 657600, 0x2f1d1ce6
+0, 1032000, 657600, 0x2f1d1ce6
+0, 1038000, 657600, 0x181719e9
+0, 1044000, 657600, 0x938d1ce6
+0, 1050000, 657600, 0x938d1ce6
+0, 1056000, 657600, 0x938d1ce6
+0, 1062000, 657600, 0xf0acbabf
+0, 1068000, 657600, 0xf0acbabf
+0, 1074000, 657600, 0xf0acbabf
+0, 1080000, 657600, 0x0f47804f
 1, 1080000, 22050, 0xbc32204a
-0, 1086000, 657600, 0xb0a141a8
-0, 1092000, 657600, 0xf3333bd8
-0, 1098000, 657600, 0xea090688
-0, 1104000, 657600, 0xa017fe41
-0, 1110000, 657600, 0xa017fe41
-0, 1116000, 657600, 0x32e93bd8
-0, 1122000, 657600, 0x7fe640c0
-0, 1128000, 657600, 0x7fe640c0
-0, 1134000, 657600, 0xcd8995b2
-0, 1140000, 657600, 0x84278a92
-0, 1146000, 657600, 0x84278a92
-0, 1152000, 657600, 0xf1d2874a
-0, 1158000, 657600, 0xf1d2874a
-0, 1164000, 657600, 0xf1d2874a
-0, 1170000, 657600, 0xa58d6742
+0, 1086000, 657600, 0x0f47804f
+0, 1092000, 657600, 0x5e0c7a55
+0, 1098000, 657600, 0x0c8f4374
+0, 1104000, 657600, 0x709a3b00
+0, 1110000, 657600, 0x709a3b00
+0, 1116000, 657600, 0xf57b7a0f
+0, 1122000, 657600, 0x99427f1b
+0, 1128000, 657600, 0x99427f1b
+0, 1134000, 657600, 0xcb3608e7
+0, 1140000, 657600, 0x0992fd64
+0, 1146000, 657600, 0x0992fd64
+0, 1152000, 657600, 0x7a95fa02
+0, 1158000, 657600, 0x7a95fa02
+0, 1164000, 657600, 0x7a95fa02
+0, 1170000, 657600, 0xb97dd910
 1, 1170000, 22050, 0xdf6f1e46
-0, 1176000, 657600, 0xa58d6742
-0, 1182000, 657600, 0xa58d6742
-0, 1188000, 657600, 0xb0cd11bb
-0, 1194000, 657600, 0xb0cd11bb
-0, 1200000, 657600, 0xc55610bb
-0, 1206000, 657600, 0x4ee1168b
-0, 1212000, 657600, 0x61c513a3
-0, 1218000, 657600, 0xd26410bb
-0, 1224000, 657600, 0xe7c410bb
-0, 1230000, 657600, 0x444a0dd3
-0, 1236000, 657600, 0x444a0dd3
-0, 1242000, 657600, 0x97ac10bb
-0, 1248000, 657600, 0x97ac10bb
-0, 1254000, 657600, 0xe8b30dd3
-0, 1260000, 657600, 0x3d0c10bb
+0, 1176000, 657600, 0xb97dd910
+0, 1182000, 657600, 0xb97dd910
+0, 1188000, 657600, 0x3be07a66
+0, 1194000, 657600, 0x3be07a66
+0, 1200000, 657600, 0x1ae77960
+0, 1206000, 657600, 0x62177f5a
+0, 1212000, 657600, 0xf57c7c5d
+0, 1218000, 657600, 0x600e7960
+0, 1224000, 657600, 0xe15d7960
+0, 1230000, 657600, 0x79427663
+0, 1236000, 657600, 0x79427663
+0, 1242000, 657600, 0xa7c77960
+0, 1248000, 657600, 0xa7c77960
+0, 1254000, 657600, 0x75f67663
+0, 1260000, 657600, 0x3a157960
 1, 1260000, 22050, 0x4c91da9d
-0, 1266000, 657600, 0x8d2b0dd3
-0, 1272000, 657600, 0x8d2b0dd3
-0, 1278000, 657600, 0xa5760dd3
-0, 1284000, 657600, 0xa5760dd3
-0, 1290000, 657600, 0xa5760dd3
-0, 1296000, 657600, 0x31a30dd3
-0, 1302000, 657600, 0x31a30dd3
-0, 1308000, 657600, 0x31a30dd3
-0, 1314000, 657600, 0x31a30dd3
-0, 1320000, 657600, 0x31a30dd3
-0, 1326000, 657600, 0x31a30dd3
-0, 1332000, 657600, 0x31a30dd3
-0, 1338000, 657600, 0x31a30dd3
-0, 1344000, 657600, 0x31a30dd3
+0, 1266000, 657600, 0x72aa7663
+0, 1272000, 657600, 0x72aa7663
+0, 1278000, 657600, 0x1b277663
+0, 1284000, 657600, 0x1b277663
+0, 1290000, 657600, 0x1b277663
+0, 1296000, 657600, 0x6f5e7663
+0, 1302000, 657600, 0x6f5e7663
+0, 1308000, 657600, 0x6f5e7663
+0, 1314000, 657600, 0x6f5e7663
+0, 1320000, 657600, 0x6f5e7663
+0, 1326000, 657600, 0x6f5e7663
+0, 1332000, 657600, 0x6f5e7663
+0, 1338000, 657600, 0x6f5e7663
+0, 1344000, 657600, 0x6f5e7663
diff --git a/tests/ref/fate/vmnc-16bit b/tests/ref/fate/vmnc-16bit
index a298877..d688df6 100644
--- a/tests/ref/fate/vmnc-16bit
+++ b/tests/ref/fate/vmnc-16bit
@@ -1,192 +1,192 @@
-0, 0, 864000, 0x9b1cee65
-0, 18000, 864000, 0x82950e3f
-0, 36000, 864000, 0x335f9678
-0, 54000, 864000, 0x6b86b7e7
-0, 72000, 864000, 0x25618cf2
-0, 90000, 864000, 0xed2196c9
-0, 108000, 864000, 0xbeaa31ba
-0, 126000, 864000, 0x14e6c8ab
-0, 144000, 864000, 0x17e5c196
-0, 162000, 864000, 0x4aa15110
-0, 180000, 864000, 0x4aa15110
-0, 198000, 864000, 0x4aa15110
-0, 216000, 864000, 0x3c2d3809
-0, 234000, 864000, 0xd075f4d0
-0, 252000, 864000, 0x0c3f2833
-0, 270000, 864000, 0xe7471872
-0, 288000, 864000, 0x4300b71d
-0, 306000, 864000, 0x6b5844ec
-0, 324000, 864000, 0xb3ebc395
-0, 342000, 864000, 0x39aa8a7d
-0, 360000, 864000, 0x52a3d93d
-0, 378000, 864000, 0x73adbdac
-0, 396000, 864000, 0xa9fd6cdc
-0, 414000, 864000, 0x4a085344
-0, 432000, 864000, 0xc21b943c
-0, 450000, 864000, 0xfaef6ed4
-0, 468000, 864000, 0xa3e9163c
-0, 486000, 864000, 0x917e2be4
-0, 504000, 864000, 0x2d89d534
-0, 522000, 864000, 0x6fe5a9e4
-0, 540000, 864000, 0x71af29ec
-0, 558000, 864000, 0x8f33f6ad
-0, 576000, 864000, 0xe7d46a24
-0, 594000, 864000, 0xb631e044
-0, 612000, 864000, 0x77db01cb
-0, 630000, 864000, 0x9861b6ec
-0, 648000, 864000, 0x973bd263
-0, 666000, 864000, 0xdd4c175b
-0, 684000, 864000, 0xdc28469b
-0, 702000, 864000, 0x67393ebb
-0, 720000, 864000, 0x01a06813
-0, 738000, 864000, 0x63e88f73
-0, 756000, 864000, 0x3ffbdd73
-0, 774000, 864000, 0xd25f790b
-0, 792000, 864000, 0x14e3c5d3
-0, 810000, 864000, 0x0d3d1202
-0, 828000, 864000, 0x69decf03
-0, 846000, 864000, 0x1b20ab93
-0, 864000, 864000, 0xee2f8d4a
-0, 882000, 864000, 0xaac44c52
-0, 900000, 864000, 0x3f874a5a
-0, 918000, 864000, 0x239b2d7a
-0, 936000, 864000, 0xb85db552
-0, 954000, 864000, 0xb12962a2
-0, 972000, 864000, 0xb8270fd9
-0, 990000, 864000, 0x14930601
-0, 1008000, 864000, 0x827a15c1
-0, 1026000, 864000, 0xe31011d1
-0, 1044000, 864000, 0xcd2154c1
-0, 1062000, 864000, 0xad02dbd9
-0, 1080000, 864000, 0x40c17d58
-0, 1098000, 864000, 0x8219e3b9
-0, 1116000, 864000, 0x2d348340
-0, 1134000, 864000, 0x6b61dfc9
-0, 1152000, 864000, 0xc8d95be1
-0, 1170000, 864000, 0x70ba0918
-0, 1188000, 864000, 0xdc728131
-0, 1206000, 864000, 0x9b054a10
-0, 1224000, 864000, 0x3983f751
-0, 1242000, 864000, 0x325fe1a9
-0, 1260000, 864000, 0x7a41eac0
-0, 1278000, 864000, 0x324372a8
-0, 1296000, 864000, 0xc014ea18
-0, 1314000, 864000, 0x1a506a1f
-0, 1332000, 864000, 0x47b59557
-0, 1350000, 864000, 0x5f2e194f
-0, 1368000, 864000, 0x9f6abb68
-0, 1386000, 864000, 0x831d2b97
-0, 1404000, 864000, 0x0635af7f
-0, 1422000, 864000, 0xe54a5626
-0, 1440000, 864000, 0x704dca4f
-0, 1458000, 864000, 0x47de6676
-0, 1476000, 864000, 0x609705fd
-0, 1494000, 864000, 0x8d92e086
-0, 1512000, 864000, 0xdb7dab5e
-0, 1530000, 864000, 0xe6ccb686
-0, 1548000, 864000, 0x0d137f66
-0, 1566000, 864000, 0xd200035d
-0, 1584000, 864000, 0x7dcb959d
-0, 1602000, 864000, 0xee849f75
-0, 1620000, 864000, 0x89d14acd
-0, 1638000, 864000, 0x3738029d
-0, 1656000, 864000, 0x6f4c4395
-0, 1674000, 864000, 0x06334395
-0, 1692000, 864000, 0x238b7c94
-0, 1710000, 864000, 0xfa5d1e14
-0, 1728000, 864000, 0x50b10e54
-0, 1746000, 864000, 0x9ed3b6e4
-0, 1764000, 864000, 0x68da9374
-0, 1782000, 864000, 0xb32a137c
-0, 1800000, 864000, 0x577d5084
-0, 1818000, 864000, 0xd262176b
-0, 1836000, 864000, 0xf58b44b3
-0, 1854000, 864000, 0xd0828edc
-0, 1872000, 864000, 0xc91a7544
-0, 1890000, 864000, 0x18ae7f1c
-0, 1908000, 864000, 0x82623643
-0, 1926000, 864000, 0x9cf82cfb
-0, 1944000, 864000, 0x93ad116b
-0, 1962000, 864000, 0xa669044b
-0, 1980000, 864000, 0x8adf88c3
-0, 1998000, 864000, 0xb83fb413
-0, 2016000, 864000, 0xb9e291f3
-0, 2034000, 864000, 0x5833dcc3
-0, 2052000, 864000, 0x4ab825aa
-0, 2070000, 864000, 0xb52c3b53
-0, 2088000, 864000, 0x0cb0dd53
-0, 2106000, 864000, 0x98b8dd52
-0, 2124000, 864000, 0x989230ba
-0, 2142000, 864000, 0xaed4c073
-0, 2160000, 864000, 0x76a7c83a
-0, 2178000, 864000, 0x02711eea
-0, 2196000, 864000, 0x8de65fe2
-0, 2214000, 864000, 0xc1163689
-0, 2232000, 864000, 0xc04f8b31
-0, 2250000, 864000, 0x69218d2a
-0, 2268000, 864000, 0x7e3abe62
-0, 2286000, 864000, 0x00ebe27a
-0, 2304000, 864000, 0x34803f11
-0, 2322000, 864000, 0x85591cd9
-0, 2340000, 864000, 0x8422fb51
-0, 2358000, 864000, 0x67c759e1
-0, 2376000, 864000, 0x4ac36af1
-0, 2394000, 864000, 0xdf00fca2
-0, 2412000, 864000, 0x74c633d1
-0, 2430000, 864000, 0x00251c31
-0, 2448000, 864000, 0x6d12a499
-0, 2466000, 864000, 0x1b6492e1
-0, 2484000, 864000, 0xdfc9a2a1
-0, 2502000, 864000, 0x33dcac79
-0, 2520000, 864000, 0x2305a499
-0, 2538000, 864000, 0xe1f3ae71
-0, 2556000, 864000, 0xc0cc92e1
-0, 2574000, 864000, 0x53d3b261
-0, 2592000, 864000, 0xf953aa81
-0, 2610000, 864000, 0x4108da69
-0, 2628000, 864000, 0xd6acf9e9
-0, 2646000, 864000, 0xb97ed900
-0, 2664000, 864000, 0x1d8b7a80
-0, 2682000, 864000, 0xd5406cb8
-0, 2700000, 864000, 0x5aa34948
-0, 2718000, 864000, 0x328eee01
-0, 2736000, 864000, 0xac92e621
-0, 2754000, 864000, 0x4fa1f5e1
-0, 2772000, 864000, 0xf7c4e8a8
-0, 2790000, 864000, 0xc358bd58
-0, 2808000, 864000, 0x29ec4b27
-0, 2826000, 864000, 0xf7219c88
-0, 2844000, 864000, 0xe77ff130
-0, 2862000, 864000, 0x73683417
-0, 2880000, 864000, 0x08b6be77
-0, 2898000, 864000, 0x3a7eea6f
-0, 2916000, 864000, 0xb319cce7
-0, 2934000, 864000, 0x9607b13e
-0, 2952000, 864000, 0x30543f0d
-0, 2970000, 864000, 0x56915a9e
-0, 2988000, 864000, 0x79f158a6
-0, 3006000, 864000, 0x498b8bd6
-0, 3024000, 864000, 0xe9ad7046
-0, 3042000, 864000, 0xe9ad7046
-0, 3060000, 864000, 0x10317e0e
-0, 3078000, 864000, 0x10317e0e
-0, 3096000, 864000, 0x10317e0e
-0, 3114000, 864000, 0x99ec7046
-0, 3132000, 864000, 0x924d46ee
-0, 3150000, 864000, 0x98bf333e
-0, 3168000, 864000, 0xb2625c96
-0, 3186000, 864000, 0xb46b3926
-0, 3204000, 864000, 0xeb4e5c96
-0, 3222000, 864000, 0x87154ece
-0, 3240000, 864000, 0x9e4c666e
-0, 3258000, 864000, 0x65b53d16
-0, 3276000, 864000, 0x99e85e8e
-0, 3294000, 864000, 0x650ba17e
-0, 3312000, 864000, 0x1ecb000e
-0, 3330000, 864000, 0xb942327d
-0, 3348000, 864000, 0x1bf20925
-0, 3366000, 864000, 0x61dba6a5
-0, 3384000, 864000, 0x5de16d8d
-0, 3402000, 864000, 0x4eb1f75d
-0, 3420000, 864000, 0x4eb1f75d
-0, 3438000, 864000, 0xd0750144
+0, 0, 864000, 0xd6929ea7
+0, 18000, 864000, 0x9d5283fa
+0, 36000, 864000, 0xcec52d42
+0, 54000, 864000, 0x34d5943e
+0, 72000, 864000, 0x5bd0b2a8
+0, 90000, 864000, 0x41f1c468
+0, 108000, 864000, 0x16aa54b9
+0, 126000, 864000, 0xdb92e88a
+0, 144000, 864000, 0x0ae5d695
+0, 162000, 864000, 0x2c338d33
+0, 180000, 864000, 0x2c338d33
+0, 198000, 864000, 0x2c338d33
+0, 216000, 864000, 0xd9c1152f
+0, 234000, 864000, 0x9833bf29
+0, 252000, 864000, 0xbedbe1bc
+0, 270000, 864000, 0xd137d921
+0, 288000, 864000, 0xcb0f967a
+0, 306000, 864000, 0x931a2881
+0, 324000, 864000, 0xeb8ca351
+0, 342000, 864000, 0xe2f66886
+0, 360000, 864000, 0xb81fb99e
+0, 378000, 864000, 0x2048a4d9
+0, 396000, 864000, 0x145b514f
+0, 414000, 864000, 0xcb6236f4
+0, 432000, 864000, 0x6d2d79db
+0, 450000, 864000, 0xadca5356
+0, 468000, 864000, 0x5d51f80c
+0, 486000, 864000, 0x9e240e68
+0, 504000, 864000, 0xcafcbcc2
+0, 522000, 864000, 0x76f99028
+0, 540000, 864000, 0xd7450c61
+0, 558000, 864000, 0x1431d79c
+0, 576000, 864000, 0x081a4e30
+0, 594000, 864000, 0x0437c7d4
+0, 612000, 864000, 0xb4bbea4b
+0, 630000, 864000, 0x0a149d41
+0, 648000, 864000, 0xf7dbc0d5
+0, 666000, 864000, 0x6933003c
+0, 684000, 864000, 0x18ce30e4
+0, 702000, 864000, 0x8c8728c8
+0, 720000, 864000, 0x37b6535b
+0, 738000, 864000, 0xcdab7be7
+0, 756000, 864000, 0xe1e1cbe7
+0, 774000, 864000, 0x1d476482
+0, 792000, 864000, 0x0ae0b393
+0, 810000, 864000, 0x49140206
+0, 828000, 864000, 0xe9f9bd09
+0, 846000, 864000, 0x89a7988b
+0, 864000, 864000, 0x24f780a7
+0, 882000, 864000, 0x88a53dc0
+0, 900000, 864000, 0x27ed3bb9
+0, 918000, 864000, 0xc8151dfd
+0, 936000, 864000, 0xfcb8a9e0
+0, 954000, 864000, 0xd6d554ba
+0, 972000, 864000, 0xbc6e06c6
+0, 990000, 864000, 0x6334fc94
+0, 1008000, 864000, 0x7a7e0cdb
+0, 1026000, 864000, 0xf96008cd
+0, 1044000, 864000, 0xffbc4dbb
+0, 1062000, 864000, 0x1071d886
+0, 1080000, 864000, 0x6b967ed3
+0, 1098000, 864000, 0xd370e0a2
+0, 1116000, 864000, 0x4cca84e8
+0, 1134000, 864000, 0xd46bdc94
+0, 1152000, 864000, 0x102a54bf
+0, 1170000, 864000, 0xe39406cb
+0, 1188000, 864000, 0x9bb07ad9
+0, 1206000, 864000, 0xd3b749b2
+0, 1224000, 864000, 0x59faf47d
+0, 1242000, 864000, 0xba38de30
+0, 1260000, 864000, 0x7084eed8
+0, 1278000, 864000, 0xa966732d
+0, 1296000, 864000, 0xb9f1ee2b
+0, 1314000, 864000, 0x09267201
+0, 1332000, 864000, 0xc6b09e30
+0, 1350000, 864000, 0x080d1e77
+0, 1368000, 864000, 0xe28bbdc5
+0, 1386000, 864000, 0x230a30f8
+0, 1404000, 864000, 0x4d0bb8cd
+0, 1422000, 864000, 0x96096417
+0, 1440000, 864000, 0x7467d417
+0, 1458000, 864000, 0xbcc07491
+0, 1476000, 864000, 0x794718d7
+0, 1494000, 864000, 0xf23ff243
+0, 1512000, 864000, 0x9961bb86
+0, 1530000, 864000, 0x7be4c703
+0, 1548000, 864000, 0x727f8e3f
+0, 1566000, 864000, 0xda421623
+0, 1584000, 864000, 0xca69ac6b
+0, 1602000, 864000, 0x67aeb68e
+0, 1620000, 864000, 0x3b665f61
+0, 1638000, 864000, 0x3716150b
+0, 1656000, 864000, 0x2dcd57f2
+0, 1674000, 864000, 0x800257f2
+0, 1692000, 864000, 0x10de99ef
+0, 1710000, 864000, 0x3438389f
+0, 1728000, 864000, 0x42682867
+0, 1746000, 864000, 0x9d64d5a9
+0, 1764000, 864000, 0x9e2eb12b
+0, 1782000, 864000, 0xb9f42d64
+0, 1800000, 864000, 0xd6f36c3d
+0, 1818000, 864000, 0xfeaa390f
+0, 1836000, 864000, 0x3fe067b0
+0, 1854000, 864000, 0x45ebac70
+0, 1872000, 864000, 0xabfb9215
+0, 1890000, 864000, 0x20f79c38
+0, 1908000, 864000, 0x326858d2
+0, 1926000, 864000, 0x67154ef1
+0, 1944000, 864000, 0x2b3d328f
+0, 1962000, 864000, 0x8190250b
+0, 1980000, 864000, 0x31dead22
+0, 1998000, 864000, 0xa9b8d9bc
+0, 2016000, 864000, 0x330db698
+0, 2034000, 864000, 0x0ff803b1
+0, 2052000, 864000, 0xb7614eb4
+0, 2070000, 864000, 0x12c75d64
+0, 2088000, 864000, 0x622c03f3
+0, 2106000, 864000, 0x0ace0b90
+0, 2124000, 864000, 0x2c2b59c6
+0, 2142000, 864000, 0xadbbe628
+0, 2160000, 864000, 0x1371f576
+0, 2178000, 864000, 0x066a471c
+0, 2196000, 864000, 0x0e6f8a03
+0, 2214000, 864000, 0x4325670d
+0, 2232000, 864000, 0x2e8abe3a
+0, 2250000, 864000, 0x0ea8b8a4
+0, 2268000, 864000, 0x65e4eb53
+0, 2286000, 864000, 0xa03d108d
+0, 2304000, 864000, 0xd3d56fd6
+0, 2322000, 864000, 0x1b8e4c47
+0, 2340000, 864000, 0x5bd0316d
+0, 2358000, 864000, 0x49478b20
+0, 2376000, 864000, 0x3dae9cb2
+0, 2394000, 864000, 0x671e2b2a
+0, 2412000, 864000, 0x521763ee
+0, 2430000, 864000, 0x73dc4b9a
+0, 2448000, 864000, 0x3c95d7bf
+0, 2466000, 864000, 0x3abdc580
+0, 2484000, 864000, 0xae24d5b8
+0, 2502000, 864000, 0xe630dfdb
+0, 2520000, 864000, 0x229ad7bf
+0, 2538000, 864000, 0x3372e1e2
+0, 2556000, 864000, 0xa821c580
+0, 2574000, 864000, 0x7c78e5f0
+0, 2592000, 864000, 0x3324ddd4
+0, 2610000, 864000, 0x98580f38
+0, 2628000, 864000, 0x14072fa8
+0, 2646000, 864000, 0xdbb21510
+0, 2664000, 864000, 0x6a55b3b1
+0, 2682000, 864000, 0x7b5ba580
+0, 2700000, 864000, 0x2f5e8102
+0, 2718000, 864000, 0x691e2313
+0, 2736000, 864000, 0x423b1af7
+0, 2754000, 864000, 0x02842b2f
+0, 2772000, 864000, 0x8a4e24dd
+0, 2790000, 864000, 0xbbebf834
+0, 2808000, 864000, 0x0ba68a3b
+0, 2826000, 864000, 0x6390d66a
+0, 2844000, 864000, 0x6ee32da6
+0, 2862000, 864000, 0xace87229
+0, 2880000, 864000, 0xb2a10064
+0, 2898000, 864000, 0x9cc42dab
+0, 2916000, 864000, 0x32eb0f42
+0, 2934000, 864000, 0x6cb1fa03
+0, 2952000, 864000, 0xddd28c0a
+0, 2970000, 864000, 0xae5ca0cf
+0, 2988000, 864000, 0x4cb99ec8
+0, 3006000, 864000, 0xdad7d37e
+0, 3024000, 864000, 0x7090b71c
+0, 3042000, 864000, 0x7090b71c
+0, 3060000, 864000, 0x96a4c54d
+0, 3078000, 864000, 0x96a4c54d
+0, 3096000, 864000, 0x96a4c54d
+0, 3114000, 864000, 0xc47eb71c
+0, 3132000, 864000, 0xcd678c89
+0, 3150000, 864000, 0xb89e7843
+0, 3168000, 864000, 0x7f3aa2d6
+0, 3186000, 864000, 0xffc57e58
+0, 3204000, 864000, 0x091fa2d6
+0, 3222000, 864000, 0x3bc994a5
+0, 3240000, 864000, 0x73afacf9
+0, 3258000, 864000, 0x628b8266
+0, 3276000, 864000, 0xe2f2a4dd
+0, 3294000, 864000, 0x7118e9cb
+0, 3312000, 864000, 0x65b1438d
+0, 3330000, 864000, 0x51657ec8
+0, 3348000, 864000, 0x41a75435
+0, 3366000, 864000, 0xe387f665
+0, 3384000, 864000, 0x2baabb9a
+0, 3402000, 864000, 0xd2d74993
+0, 3420000, 864000, 0xd2d74993
+0, 3438000, 864000, 0xa7bf53b6



More information about the ffmpeg-cvslog mailing list