[FFmpeg-devel] [PATCH] Use correct colorspace in Cinepak decoder.
u-bo1b at 0w.se
u-bo1b at 0w.se
Mon Feb 18 18:00:33 CET 2013
The new code is also faster and more robust.
The decoder passed fate tests.
As for the performance:
an update to the numbers I posted earlier:
old decoder + conversion to rgb: fps = 2618
old decoder, without converting to rgb: fps = 4012
new decoder, producing rgb: fps = 4502
Regards,
Rl
---
libavcodec/cinepak.c | 225 ++++++++++++++++---------------
tests/ref/fate/cvid-grayscale | 304 ++++++++++++++++++++--------------------
tests/ref/fate/cvid-partial | 158 +++++++++++-----------
tests/ref/fate/film-cvid | 220 +++++++++++++++---------------
4 files changed, 456 insertions(+), 451 deletions(-)
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index 54ad51c..c537761 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -28,6 +28,9 @@
* http://www.csse.monash.edu.au/~timf/
* @see For more information on the quirky data inside Sega FILM/CPK files, visit:
* http://wiki.multimedia.cx/index.php?title=Sega_FILM
+ *
+ * Cinepak colorspace support (c) 2013 Rl, Aetey Global Technologies AB
+ * @author Cinepak colorspace, Rl, Aetey Global Technologies AB
*/
#include <stdio.h>
@@ -39,10 +42,7 @@
#include "avcodec.h"
-typedef struct {
- uint8_t y0, y1, y2, y3;
- uint8_t u, v;
-} cvid_codebook;
+typedef uint8_t cvid_codebook[12];
#define MAX_STRIPS 32
@@ -78,12 +78,14 @@ static void cinepak_decode_codebook (cvid_codebook *codebook,
const uint8_t *eod = (data + size);
uint32_t flag, mask;
int i, n;
+ uint8_t *p;
/* check if this chunk contains 4- or 6-element vectors */
n = (chunk_id & 0x04) ? 4 : 6;
flag = 0;
mask = 0;
+ p = codebook[0];
for (i=0; i < 256; i++) {
if ((chunk_id & 0x01) && !(mask >>= 1)) {
if ((data + 4) > eod)
@@ -95,28 +97,38 @@ static void cinepak_decode_codebook (cvid_codebook *codebook,
}
if (!(chunk_id & 0x01) || (flag & mask)) {
+ int k, kk;
+
if ((data + n) > eod)
break;
+ for (k = 0; k < 4; ++k) {
+ int r = *data++;
+ for (kk = 0; kk < 3; ++kk)
+ *p++ = r;
+ }
if (n == 6) {
- codebook[i].y0 = *data++;
- codebook[i].y1 = *data++;
- codebook[i].y2 = *data++;
- codebook[i].y3 = *data++;
- codebook[i].u = 128 + *data++;
- codebook[i].v = 128 + *data++;
+ int r, g, b, u, v;
+ u = *(int8_t *)data++;
+ v = *(int8_t *)data++;
+ p -= 12;
+ for(k=0; k<4; ++k) {
+ r = *p++ + v*2;
+ g = *p++ - (u/2) - v;
+ b = *p + u*2;
+ p -= 2;
+ *p++ = av_clip_uint8(r);
+ *p++ = av_clip_uint8(g);
+ *p++ = av_clip_uint8(b);
+ }
} else {
/* this codebook type indicates either greyscale or
- * palettized video; if palettized, U & V components will
- * not be used so it is safe to set them to 128 for the
- * benefit of greyscale rendering in YUV420P */
- codebook[i].y0 = *data++;
- codebook[i].y1 = *data++;
- codebook[i].y2 = *data++;
- codebook[i].y3 = *data++;
- codebook[i].u = 128;
- codebook[i].v = 128;
+ * palettized video, it is already stored as grey rgb24
+ * which makes it robust even when the frame is considered
+ * to be rgb24 */
}
+ } else {
+ p += 12;
}
}
}
@@ -126,25 +138,31 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip,
{
const uint8_t *eod = (data + size);
uint32_t flag, mask;
- cvid_codebook *codebook;
+ uint8_t *cb0, *cb1, *cb2, *cb3;
unsigned int x, y;
- uint32_t iy[4];
- uint32_t iu[2];
- uint32_t iv[2];
+ char *ip0, *ip1, *ip2, *ip3;
flag = 0;
mask = 0;
-
+
for (y=strip->y1; y < strip->y2; y+=4) {
- iy[0] = strip->x1 + (y * s->frame.linesize[0]);
- iy[1] = iy[0] + s->frame.linesize[0];
- iy[2] = iy[1] + s->frame.linesize[0];
- iy[3] = iy[2] + s->frame.linesize[0];
- iu[0] = (strip->x1/2) + ((y/2) * s->frame.linesize[1]);
- iu[1] = iu[0] + s->frame.linesize[1];
- iv[0] = (strip->x1/2) + ((y/2) * s->frame.linesize[2]);
- iv[1] = iv[0] + s->frame.linesize[2];
+/* take care of y dimension not being multiple of 4, such streams exist */
+ ip0 = ip1 = ip2 = ip3 = s->frame.data[0] +
+ (s->palette_video?strip->x1:strip->x1*3) + (y * s->frame.linesize[0]);
+ if(s->avctx->height - y > 1) {
+ ip1 = ip0 + s->frame.linesize[0];
+ if(s->avctx->height - y > 2) {
+ ip2 = ip1 + s->frame.linesize[0];
+ if(s->avctx->height - y > 3) {
+ ip3 = ip2 + s->frame.linesize[0];
+ }
+ }
+ }
+/* to get the correct picture for not-multiple-of-4 cases let us fill
+ * each block from the bottom up, thus possibly overwriting the top line
+ * more than once but ending with the correct data in place
+ * (instead of in-loop checking) */
for (x=strip->x1; x < strip->x2; x+=4) {
if ((chunk_id & 0x01) && !(mask >>= 1)) {
@@ -167,97 +185,84 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip,
}
if ((chunk_id & 0x02) || (~flag & mask)) {
+ uint8_t *p;
if (data >= eod)
return AVERROR_INVALIDDATA;
- codebook = &strip->v1_codebook[*data++];
- s->frame.data[0][iy[0] + 0] = codebook->y0;
- s->frame.data[0][iy[0] + 1] = codebook->y0;
- s->frame.data[0][iy[1] + 0] = codebook->y0;
- s->frame.data[0][iy[1] + 1] = codebook->y0;
- if (!s->palette_video) {
- s->frame.data[1][iu[0]] = codebook->u;
- s->frame.data[2][iv[0]] = codebook->v;
- }
-
- s->frame.data[0][iy[0] + 2] = codebook->y1;
- s->frame.data[0][iy[0] + 3] = codebook->y1;
- s->frame.data[0][iy[1] + 2] = codebook->y1;
- s->frame.data[0][iy[1] + 3] = codebook->y1;
- if (!s->palette_video) {
- s->frame.data[1][iu[0] + 1] = codebook->u;
- s->frame.data[2][iv[0] + 1] = codebook->v;
- }
-
- s->frame.data[0][iy[2] + 0] = codebook->y2;
- s->frame.data[0][iy[2] + 1] = codebook->y2;
- s->frame.data[0][iy[3] + 0] = codebook->y2;
- s->frame.data[0][iy[3] + 1] = codebook->y2;
- if (!s->palette_video) {
- s->frame.data[1][iu[1]] = codebook->u;
- s->frame.data[2][iv[1]] = codebook->v;
- }
-
- s->frame.data[0][iy[2] + 2] = codebook->y3;
- s->frame.data[0][iy[2] + 3] = codebook->y3;
- s->frame.data[0][iy[3] + 2] = codebook->y3;
- s->frame.data[0][iy[3] + 3] = codebook->y3;
- if (!s->palette_video) {
- s->frame.data[1][iu[1] + 1] = codebook->u;
- s->frame.data[2][iv[1] + 1] = codebook->v;
+ p = strip->v1_codebook[*data++] + 6;
+ if (s->palette_video) {
+ *(ip3+0) = *(ip3+1) = *(ip2+0) = *(ip2+1) = *p;
+ p += 3; /* ... + 9 */
+ *(ip3+2) = *(ip3+3) = *(ip2+2) = *(ip2+3) = *p;
+ p -= 9; /* ... + 0 */
+ *(ip1+0) = *(ip1+1) = *(ip0+0) = *(ip0+1) = *p;
+ p += 3; /* ... + 3 */
+ *(ip1+2) = *(ip1+3) = *(ip0+2) = *(ip0+3) = *p;
+ } else {
+ memcpy(ip3 + 0, p, 3); memcpy(ip3 + 3, p, 3);
+ memcpy(ip2 + 0, p, 3); memcpy(ip2 + 3, p, 3);
+ p += 3; /* ... + 9 */
+ memcpy(ip3 + 6, p, 3); memcpy(ip3 + 9, p, 3);
+ memcpy(ip2 + 6, p, 3); memcpy(ip2 + 9, p, 3);
+ p -= 9; /* ... + 0 */
+ memcpy(ip1 + 0, p, 3); memcpy(ip1 + 3, p, 3);
+ memcpy(ip0 + 0, p, 3); memcpy(ip0 + 3, p, 3);
+ p += 3; /* ... + 3 */
+ memcpy(ip1 + 6, p, 3); memcpy(ip1 + 9, p, 3);
+ memcpy(ip0 + 6, p, 3); memcpy(ip0 + 9, p, 3);
}
} else if (flag & mask) {
if ((data + 4) > eod)
return AVERROR_INVALIDDATA;
- codebook = &strip->v4_codebook[*data++];
- s->frame.data[0][iy[0] + 0] = codebook->y0;
- s->frame.data[0][iy[0] + 1] = codebook->y1;
- s->frame.data[0][iy[1] + 0] = codebook->y2;
- s->frame.data[0][iy[1] + 1] = codebook->y3;
- if (!s->palette_video) {
- s->frame.data[1][iu[0]] = codebook->u;
- s->frame.data[2][iv[0]] = codebook->v;
- }
-
- codebook = &strip->v4_codebook[*data++];
- s->frame.data[0][iy[0] + 2] = codebook->y0;
- s->frame.data[0][iy[0] + 3] = codebook->y1;
- s->frame.data[0][iy[1] + 2] = codebook->y2;
- s->frame.data[0][iy[1] + 3] = codebook->y3;
- if (!s->palette_video) {
- s->frame.data[1][iu[0] + 1] = codebook->u;
- s->frame.data[2][iv[0] + 1] = codebook->v;
- }
-
- codebook = &strip->v4_codebook[*data++];
- s->frame.data[0][iy[2] + 0] = codebook->y0;
- s->frame.data[0][iy[2] + 1] = codebook->y1;
- s->frame.data[0][iy[3] + 0] = codebook->y2;
- s->frame.data[0][iy[3] + 1] = codebook->y3;
- if (!s->palette_video) {
- s->frame.data[1][iu[1]] = codebook->u;
- s->frame.data[2][iv[1]] = codebook->v;
- }
-
- codebook = &strip->v4_codebook[*data++];
- s->frame.data[0][iy[2] + 2] = codebook->y0;
- s->frame.data[0][iy[2] + 3] = codebook->y1;
- s->frame.data[0][iy[3] + 2] = codebook->y2;
- s->frame.data[0][iy[3] + 3] = codebook->y3;
- if (!s->palette_video) {
- s->frame.data[1][iu[1] + 1] = codebook->u;
- s->frame.data[2][iv[1] + 1] = codebook->v;
+ cb0 = strip->v4_codebook[*data++];
+ cb1 = strip->v4_codebook[*data++];
+ cb2 = strip->v4_codebook[*data++];
+ cb3 = strip->v4_codebook[*data++];
+ if (s->palette_video) {
+ uint8_t *p;
+ p = ip3;
+ *p++ = cb2[6];
+ *p++ = cb2[9];
+ *p++ = cb3[6];
+ *p = cb3[9];
+ p = ip2;
+ *p++ = cb2[0];
+ *p++ = cb2[3];
+ *p++ = cb3[0];
+ *p = cb3[3];
+ p = ip1;
+ *p++ = cb0[6];
+ *p++ = cb0[9];
+ *p++ = cb1[6];
+ *p = cb1[9];
+ p = ip0;
+ *p++ = cb0[0];
+ *p++ = cb0[3];
+ *p++ = cb1[0];
+ *p = cb1[3];
+ } else {
+ memcpy(ip3 + 0, cb2 + 6, 6);
+ memcpy(ip3 + 6, cb3 + 6, 6);
+ memcpy(ip2 + 0, cb2 + 0, 6);
+ memcpy(ip2 + 6, cb3 + 0, 6);
+ memcpy(ip1 + 0, cb0 + 6, 6);
+ memcpy(ip1 + 6, cb1 + 6, 6);
+ memcpy(ip0 + 0, cb0 + 0, 6);
+ memcpy(ip0 + 6, cb1 + 0, 6);
}
}
}
- iy[0] += 4; iy[1] += 4;
- iy[2] += 4; iy[3] += 4;
- iu[0] += 2; iu[1] += 2;
- iv[0] += 2; iv[1] += 2;
+ if (s->palette_video) {
+ ip0 += 4; ip1 += 4;
+ ip2 += 4; ip3 += 4;
+ } else {
+ ip0 += 12; ip1 += 12;
+ ip2 += 12; ip3 += 12;
+ }
}
}
@@ -412,7 +417,7 @@ static av_cold int cinepak_decode_init(AVCodecContext *avctx)
// check for paletted data
if (avctx->bits_per_coded_sample != 8) {
s->palette_video = 0;
- avctx->pix_fmt = AV_PIX_FMT_YUV420P;
+ avctx->pix_fmt = AV_PIX_FMT_RGB24;
} else {
s->palette_video = 1;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
diff --git a/tests/ref/fate/cvid-grayscale b/tests/ref/fate/cvid-grayscale
index 87ca600..1b586b3 100644
--- a/tests/ref/fate/cvid-grayscale
+++ b/tests/ref/fate/cvid-grayscale
@@ -1,153 +1,153 @@
#tb 0: 99561/500000
-0, 0, 0, 1, 11300, 0x46c78923
-0, 1, 1, 1, 11300, 0x3f2a1175
-0, 2, 2, 1, 11300, 0x722de221
-0, 3, 3, 1, 11300, 0x01746b88
-0, 4, 4, 1, 11300, 0x549587a7
-0, 5, 5, 1, 11300, 0x843ab943
-0, 6, 6, 1, 11300, 0x62fdee48
-0, 7, 7, 1, 11300, 0x74a62867
-0, 8, 8, 1, 11300, 0x35a20e2f
-0, 9, 9, 1, 11300, 0x4e9ef54d
-0, 10, 10, 1, 11300, 0xec7201f5
-0, 11, 11, 1, 11300, 0x363bfe27
-0, 12, 12, 1, 11300, 0x2aaab418
-0, 13, 13, 1, 11300, 0x6a48ab3f
-0, 14, 14, 1, 11300, 0x3fecea34
-0, 15, 15, 1, 11300, 0xa371f55e
-0, 16, 16, 1, 11300, 0xa86b147c
-0, 17, 17, 1, 11300, 0x49e9206e
-0, 18, 18, 1, 11300, 0x6c9a2155
-0, 19, 19, 1, 11300, 0x2c8a4798
-0, 20, 20, 1, 11300, 0x3485676c
-0, 21, 21, 1, 11300, 0xb0b293f2
-0, 22, 22, 1, 11300, 0xe4a9b068
-0, 23, 23, 1, 11300, 0xd68d0556
-0, 24, 24, 1, 11300, 0xc28e5193
-0, 25, 25, 1, 11300, 0xf6948483
-0, 26, 26, 1, 11300, 0xf21fbf57
-0, 27, 27, 1, 11300, 0x8345eb44
-0, 28, 28, 1, 11300, 0x8124f045
-0, 29, 29, 1, 11300, 0x18e31f10
-0, 30, 30, 1, 11300, 0xdb1943fc
-0, 31, 31, 1, 11300, 0x8701699f
-0, 32, 32, 1, 11300, 0xd7b18550
-0, 33, 33, 1, 11300, 0xa56faccc
-0, 34, 34, 1, 11300, 0xf8bcc17c
-0, 35, 35, 1, 11300, 0x446acab9
-0, 36, 36, 1, 11300, 0x755fd295
-0, 37, 37, 1, 11300, 0x92e3d100
-0, 38, 38, 1, 11300, 0x54895bb3
-0, 39, 39, 1, 11300, 0xd18bffda
-0, 40, 40, 1, 11300, 0x480dbe4f
-0, 41, 41, 1, 11300, 0x49ea9dbe
-0, 42, 42, 1, 11300, 0x00d3a003
-0, 43, 43, 1, 11300, 0xda7bbfb2
-0, 44, 44, 1, 11300, 0x9700d9c2
-0, 45, 45, 1, 11300, 0xa0a9e490
-0, 46, 46, 1, 11300, 0x00eb0979
-0, 47, 47, 1, 11300, 0x32b04630
-0, 48, 48, 1, 11300, 0xdfb73e51
-0, 49, 49, 1, 11300, 0x3d8e4f96
-0, 50, 50, 1, 11300, 0x2ca83271
-0, 51, 51, 1, 11300, 0xb5b123c0
-0, 52, 52, 1, 11300, 0x8a570e58
-0, 53, 53, 1, 11300, 0xc6c805bc
-0, 54, 54, 1, 11300, 0x27caf7a5
-0, 55, 55, 1, 11300, 0x5319ecb0
-0, 56, 56, 1, 11300, 0x5471e3fd
-0, 57, 57, 1, 11300, 0x6d68a6f4
-0, 58, 58, 1, 11300, 0x872b7194
-0, 59, 59, 1, 11300, 0x007c36bd
-0, 60, 60, 1, 11300, 0x2714f1b5
-0, 61, 61, 1, 11300, 0x6c8eb50f
-0, 62, 62, 1, 11300, 0xf5d57be8
-0, 63, 63, 1, 11300, 0x981f412b
-0, 64, 64, 1, 11300, 0x1a9804a1
-0, 65, 65, 1, 11300, 0xf0c1d24a
-0, 66, 66, 1, 11300, 0xa70a9d9b
-0, 67, 67, 1, 11300, 0x8c466876
-0, 68, 68, 1, 11300, 0xcf2e32df
-0, 69, 69, 1, 11300, 0xcb8cfebf
-0, 70, 70, 1, 11300, 0xb961ca99
-0, 71, 71, 1, 11300, 0x666d9619
-0, 72, 72, 1, 11300, 0x84bf5b55
-0, 73, 73, 1, 11300, 0xbfa22ccc
-0, 74, 74, 1, 11300, 0xcde41849
-0, 75, 75, 1, 11300, 0x71372dcd
-0, 76, 76, 1, 11300, 0x13402cfd
-0, 77, 77, 1, 11300, 0xdebdd321
-0, 78, 78, 1, 11300, 0xdda66de1
-0, 79, 79, 1, 11300, 0x7f4bb682
-0, 80, 80, 1, 11300, 0xf67fd528
-0, 81, 81, 1, 11300, 0xe739ff8c
-0, 82, 82, 1, 11300, 0x2e131774
-0, 83, 83, 1, 11300, 0xfa942811
-0, 84, 84, 1, 11300, 0x0cd93ac2
-0, 85, 85, 1, 11300, 0xd0445e0e
-0, 86, 86, 1, 11300, 0x3f3497c7
-0, 87, 87, 1, 11300, 0x11b5bd2c
-0, 88, 88, 1, 11300, 0xccd5e62a
-0, 89, 89, 1, 11300, 0xa9d4fcb5
-0, 90, 90, 1, 11300, 0x34aa1a03
-0, 91, 91, 1, 11300, 0x1ce6299e
-0, 92, 92, 1, 11300, 0x661c2745
-0, 93, 93, 1, 11300, 0x27d8a8b3
-0, 94, 94, 1, 11300, 0x9eb07467
-0, 95, 95, 1, 11300, 0x128374d2
-0, 96, 96, 1, 11300, 0x05c36ff5
-0, 97, 97, 1, 11300, 0x8a136bde
-0, 98, 98, 1, 11300, 0x15c47c99
-0, 99, 99, 1, 11300, 0xcc4a93f4
-0, 100, 100, 1, 11300, 0x19529b2b
-0, 101, 101, 1, 11300, 0x9943c076
-0, 102, 102, 1, 11300, 0xf898e583
-0, 103, 103, 1, 11300, 0x40f71f94
-0, 104, 104, 1, 11300, 0x5b604afb
-0, 105, 105, 1, 11300, 0x8c176af4
-0, 106, 106, 1, 11300, 0x0f1a6216
-0, 107, 107, 1, 11300, 0x38bbd13d
-0, 108, 108, 1, 11300, 0x90c8d1fc
-0, 109, 109, 1, 11300, 0x253000d7
-0, 110, 110, 1, 11300, 0xb94b03b1
-0, 111, 111, 1, 11300, 0xbc872268
-0, 112, 112, 1, 11300, 0xe77adb8c
-0, 113, 113, 1, 11300, 0xa38936b7
-0, 114, 114, 1, 11300, 0xd6153632
-0, 115, 115, 1, 11300, 0x1ae633cc
-0, 116, 116, 1, 11300, 0xb90c286e
-0, 117, 117, 1, 11300, 0xbc7e333d
-0, 118, 118, 1, 11300, 0x1b5421f8
-0, 119, 119, 1, 11300, 0xdde6506d
-0, 120, 120, 1, 11300, 0xd3eb757e
-0, 121, 121, 1, 11300, 0x5ad1929c
-0, 122, 122, 1, 11300, 0x4f6aa47d
-0, 123, 123, 1, 11300, 0xab3caf55
-0, 124, 124, 1, 11300, 0x5ff9b39a
-0, 125, 125, 1, 11300, 0x1454e12e
-0, 126, 126, 1, 11300, 0xf18216e8
-0, 127, 127, 1, 11300, 0x62144880
-0, 128, 128, 1, 11300, 0x54284241
-0, 129, 129, 1, 11300, 0x8e8c7228
-0, 130, 130, 1, 11300, 0xb498d06e
-0, 131, 131, 1, 11300, 0x7b1e6be1
-0, 132, 132, 1, 11300, 0x5e5ea1f4
-0, 133, 133, 1, 11300, 0x41eda28e
-0, 134, 134, 1, 11300, 0x7ba6aa92
-0, 135, 135, 1, 11300, 0xa8a8b1c7
-0, 136, 136, 1, 11300, 0x0d30bd08
-0, 137, 137, 1, 11300, 0xc610bf16
-0, 138, 138, 1, 11300, 0xed57c075
-0, 139, 139, 1, 11300, 0xb86dbfea
-0, 140, 140, 1, 11300, 0x0970c03d
-0, 141, 141, 1, 11300, 0x743ac2ac
-0, 142, 142, 1, 11300, 0x0a44c816
-0, 143, 143, 1, 11300, 0xe32acd6b
-0, 144, 144, 1, 11300, 0x209bcdab
-0, 145, 145, 1, 11300, 0x3cd0d105
-0, 146, 146, 1, 11300, 0xc0bcd330
-0, 147, 147, 1, 11300, 0x4785d6dc
-0, 148, 148, 1, 11300, 0xe85f9c90
-0, 149, 149, 1, 11300, 0xd4a72850
-0, 150, 150, 1, 11300, 0x04766e41
-0, 151, 151, 1, 11300, 0x04766e41
+0, 0, 0, 1, 22500, 0x0f8e562e
+0, 1, 1, 1, 22500, 0x507aef06
+0, 2, 2, 1, 22500, 0x059d6137
+0, 3, 3, 1, 22500, 0xfb1bfd4e
+0, 4, 4, 1, 22500, 0xe97a51ba
+0, 5, 5, 1, 22500, 0xfc77e68e
+0, 6, 6, 1, 22500, 0x7f1985ac
+0, 7, 7, 1, 22500, 0xdfb933eb
+0, 8, 8, 1, 22500, 0x6dafe534
+0, 9, 9, 1, 22500, 0xb7b69abb
+0, 10, 10, 1, 22500, 0xc435c086
+0, 11, 11, 1, 22500, 0xf8ddb549
+0, 12, 12, 1, 22500, 0x76c0d70d
+0, 13, 13, 1, 22500, 0x1120bc82
+0, 14, 14, 1, 22500, 0x3f7c7970
+0, 15, 15, 1, 22500, 0xd37c9aee
+0, 16, 16, 1, 22500, 0x7407f81b
+0, 17, 17, 1, 22500, 0xce2f1c00
+0, 18, 18, 1, 22500, 0x70921eb5
+0, 19, 19, 1, 22500, 0x0abc917e
+0, 20, 20, 1, 22500, 0xeff1f0fa
+0, 21, 21, 1, 22500, 0x5e0d769b
+0, 22, 22, 1, 22500, 0xc984cbfd
+0, 23, 23, 1, 22500, 0x73f1caa9
+0, 24, 24, 1, 22500, 0x9108af6f
+0, 25, 25, 1, 22500, 0x4f33484e
+0, 26, 26, 1, 22500, 0x9810f8ca
+0, 27, 27, 1, 22500, 0xa0b97ca0
+0, 28, 28, 1, 22500, 0xd9c28ba3
+0, 29, 29, 1, 22500, 0xc97e17e6
+0, 30, 30, 1, 22500, 0x85cf86aa
+0, 31, 31, 1, 22500, 0xf15ff793
+0, 32, 32, 1, 22500, 0x35c54ab5
+0, 33, 33, 1, 22500, 0xe80ec129
+0, 34, 34, 1, 22500, 0x3d6cff39
+0, 35, 35, 1, 22500, 0x54e41aff
+0, 36, 36, 1, 22500, 0xc1d63293
+0, 37, 37, 1, 22500, 0x362c2dd4
+0, 38, 38, 1, 22500, 0xa1f8cdcf
+0, 39, 39, 1, 22500, 0x5b59ba62
+0, 40, 40, 1, 22500, 0x6d02f5b2
+0, 41, 41, 1, 22500, 0x899293ff
+0, 42, 42, 1, 22500, 0xad0e9ace
+0, 43, 43, 1, 22500, 0x4263f9db
+0, 44, 44, 1, 22500, 0xff1e481a
+0, 45, 45, 1, 22500, 0x70c86884
+0, 46, 46, 1, 22500, 0x203ed712
+0, 47, 47, 1, 22500, 0x2f0e8d46
+0, 48, 48, 1, 22500, 0x215075a9
+0, 49, 49, 1, 22500, 0x9882a978
+0, 50, 50, 1, 22500, 0xc2fd5209
+0, 51, 51, 1, 22500, 0xe1c925f6
+0, 52, 52, 1, 22500, 0x012be5af
+0, 53, 53, 1, 22500, 0xa718cbdb
+0, 54, 54, 1, 22500, 0x2494a1c3
+0, 55, 55, 1, 22500, 0xeb8980e4
+0, 56, 56, 1, 22500, 0x7f2766cb
+0, 57, 57, 1, 22500, 0xdf3cafa1
+0, 58, 58, 1, 22500, 0x9a390f81
+0, 59, 59, 1, 22500, 0xfdad5eed
+0, 60, 60, 1, 22500, 0x94f58ff3
+0, 61, 61, 1, 22500, 0xd7c6d9f2
+0, 62, 62, 1, 22500, 0x48b72e7d
+0, 63, 63, 1, 22500, 0x8a7a7e37
+0, 64, 64, 1, 22500, 0x5413c88a
+0, 65, 65, 1, 22500, 0x3f4531b2
+0, 66, 66, 1, 22500, 0x152d9396
+0, 67, 67, 1, 22500, 0x2ac3f418
+0, 68, 68, 1, 22500, 0x0e1c5353
+0, 69, 69, 1, 22500, 0xe058b711
+0, 70, 70, 1, 22500, 0x262e1a9f
+0, 71, 71, 1, 22500, 0x20057d10
+0, 72, 72, 1, 22500, 0x65c5ccb5
+0, 73, 73, 1, 22500, 0x3e36411a
+0, 74, 74, 1, 22500, 0xd9740391
+0, 75, 75, 1, 22500, 0x53d1441d
+0, 76, 76, 1, 22500, 0x9a3941ad
+0, 77, 77, 1, 22500, 0x61553437
+0, 78, 78, 1, 22500, 0xfe0c0468
+0, 79, 79, 1, 22500, 0xd57bde4b
+0, 80, 80, 1, 22500, 0x4a183a4c
+0, 81, 81, 1, 22500, 0xd618b978
+0, 82, 82, 1, 22500, 0x6b480112
+0, 83, 83, 1, 22500, 0x7a1732e9
+0, 84, 84, 1, 22500, 0x45836afc
+0, 85, 85, 1, 22500, 0x3548d4e0
+0, 86, 86, 1, 22500, 0x476c821a
+0, 87, 87, 1, 22500, 0x6be5f249
+0, 88, 88, 1, 22500, 0xf79b6d52
+0, 89, 89, 1, 22500, 0x2edeb0f3
+0, 90, 90, 1, 22500, 0xbaf808bf
+0, 91, 91, 1, 22500, 0x71013790
+0, 92, 92, 1, 22500, 0xbf4e3085
+0, 93, 93, 1, 22500, 0x15c2b4de
+0, 94, 94, 1, 22500, 0x031d17fa
+0, 95, 95, 1, 22500, 0x3a2c193b
+0, 96, 96, 1, 22500, 0xb0420aa4
+0, 97, 97, 1, 22500, 0xe448fe50
+0, 98, 98, 1, 22500, 0x02173090
+0, 99, 99, 1, 22500, 0x4b2f76a1
+0, 100, 100, 1, 22500, 0xd6458c46
+0, 101, 101, 1, 22500, 0xa698fc27
+0, 102, 102, 1, 22500, 0xaeca6b5d
+0, 103, 103, 1, 22500, 0x4a591972
+0, 104, 104, 1, 22500, 0x19e49ba7
+0, 105, 105, 1, 22500, 0x1d4ffb92
+0, 106, 106, 1, 22500, 0xb1f8e0f8
+0, 107, 107, 1, 22500, 0x32c82e8b
+0, 108, 108, 1, 22500, 0x96e930c8
+0, 109, 109, 1, 22500, 0x0e6ebd2c
+0, 110, 110, 1, 22500, 0x315bc5ba
+0, 111, 111, 1, 22500, 0xb22321ee
+0, 112, 112, 1, 22500, 0xbe464d78
+0, 113, 113, 1, 22500, 0xdb4b5edb
+0, 114, 114, 1, 22500, 0x0ff65d4c
+0, 115, 115, 1, 22500, 0xff68561a
+0, 116, 116, 1, 22500, 0xa0033400
+0, 117, 117, 1, 22500, 0x5414546d
+0, 118, 118, 1, 22500, 0x7e43209e
+0, 119, 119, 1, 22500, 0x0037abfd
+0, 120, 120, 1, 22500, 0x3dd31b3f
+0, 121, 121, 1, 22500, 0xe0777299
+0, 122, 122, 1, 22500, 0x35a2a83c
+0, 123, 123, 1, 22500, 0x5282c8c4
+0, 124, 124, 1, 22500, 0x1ccdd593
+0, 125, 125, 1, 22500, 0x92525e5e
+0, 126, 126, 1, 22500, 0x5fa3ff5f
+0, 127, 127, 1, 22500, 0xd1169436
+0, 128, 128, 1, 22500, 0x07dc8179
+0, 129, 129, 1, 22500, 0x9a83113d
+0, 130, 130, 1, 22500, 0x9c722c1e
+0, 131, 131, 1, 22500, 0xccbcfe59
+0, 132, 132, 1, 22500, 0x8606a0a1
+0, 133, 133, 1, 22500, 0x2210a26f
+0, 134, 134, 1, 22500, 0xfc73ba7b
+0, 135, 135, 1, 22500, 0x731fd01a
+0, 136, 136, 1, 22500, 0x0e21f1dd
+0, 137, 137, 1, 22500, 0xf9c4f807
+0, 138, 138, 1, 22500, 0x2123fc24
+0, 139, 139, 1, 22500, 0xd42cfa83
+0, 140, 140, 1, 22500, 0x5927fb7c
+0, 141, 141, 1, 22500, 0xe32e02d8
+0, 142, 142, 1, 22500, 0xa5c11316
+0, 143, 143, 1, 22500, 0xb9112315
+0, 144, 144, 1, 22500, 0x78f223d5
+0, 145, 145, 1, 22500, 0x93202de3
+0, 146, 146, 1, 22500, 0x7eb03464
+0, 147, 147, 1, 22500, 0x899c3f68
+0, 148, 148, 1, 22500, 0xc2169075
+0, 149, 149, 1, 22500, 0x419f33a6
+0, 150, 150, 1, 22500, 0x3de50588
+0, 151, 151, 1, 22500, 0x3de50588
diff --git a/tests/ref/fate/cvid-partial b/tests/ref/fate/cvid-partial
index 907ef4a..bb368a1 100644
--- a/tests/ref/fate/cvid-partial
+++ b/tests/ref/fate/cvid-partial
@@ -1,80 +1,80 @@
#tb 0: 1/12
-0, 0, 0, 1, 112400, 0x829180d8
-0, 1, 1, 1, 112400, 0xdbebac5b
-0, 2, 2, 1, 112400, 0xc5adc0f7
-0, 3, 3, 1, 112400, 0xbe1fc030
-0, 4, 4, 1, 112400, 0xe08ab460
-0, 5, 5, 1, 112400, 0xfde0dbc5
-0, 6, 6, 1, 112400, 0xed9242b0
-0, 7, 7, 1, 112400, 0x1ae3933a
-0, 8, 8, 1, 112400, 0xc82d2f5b
-0, 9, 9, 1, 112400, 0xbae9ddfc
-0, 10, 10, 1, 112400, 0xa350a1f7
-0, 11, 11, 1, 112400, 0x3cf78029
-0, 12, 12, 1, 112400, 0xaa0b82bf
-0, 13, 13, 1, 112400, 0x71aa4794
-0, 14, 14, 1, 112400, 0x2fe57373
-0, 15, 15, 1, 112400, 0x429c6f82
-0, 16, 16, 1, 112400, 0xfb2d917d
-0, 17, 17, 1, 112400, 0xcc84cb9a
-0, 18, 18, 1, 112400, 0xc68f0613
-0, 19, 19, 1, 112400, 0x05f30e6a
-0, 20, 20, 1, 112400, 0x5c5d853d
-0, 21, 21, 1, 112400, 0x01e0aff2
-0, 22, 22, 1, 112400, 0xc3b2cf4a
-0, 23, 23, 1, 112400, 0xc0a3cf19
-0, 24, 24, 1, 112400, 0xc743abda
-0, 25, 25, 1, 112400, 0x54bd17a2
-0, 26, 26, 1, 112400, 0x616ef28d
-0, 27, 27, 1, 112400, 0x04b51f59
-0, 28, 28, 1, 112400, 0x857511a2
-0, 29, 29, 1, 112400, 0x25c62440
-0, 30, 30, 1, 112400, 0x8c78198d
-0, 31, 31, 1, 112400, 0xc046c912
-0, 32, 32, 1, 112400, 0x0d828630
-0, 33, 33, 1, 112400, 0x48999b80
-0, 34, 34, 1, 112400, 0x9a869e77
-0, 35, 35, 1, 112400, 0x16d893df
-0, 36, 36, 1, 112400, 0xf6b86132
-0, 37, 37, 1, 112400, 0xfa564ea4
-0, 38, 38, 1, 112400, 0xdd473f69
-0, 39, 39, 1, 112400, 0xf89625a6
-0, 40, 40, 1, 112400, 0x823a58aa
-0, 41, 41, 1, 112400, 0x25e0fe43
-0, 42, 42, 1, 112400, 0x41034522
-0, 43, 43, 1, 112400, 0xb8da4f00
-0, 44, 44, 1, 112400, 0x9f684fce
-0, 45, 45, 1, 112400, 0xf7188710
-0, 46, 46, 1, 112400, 0x428fbfc6
-0, 47, 47, 1, 112400, 0x535bace0
-0, 48, 48, 1, 112400, 0x23216059
-0, 49, 49, 1, 112400, 0x9b8bbfa6
-0, 50, 50, 1, 112400, 0x932be522
-0, 51, 51, 1, 112400, 0xdbd31409
-0, 52, 52, 1, 112400, 0x0a69bf18
-0, 53, 53, 1, 112400, 0xa15ef128
-0, 54, 54, 1, 112400, 0x49a1fa92
-0, 55, 55, 1, 112400, 0xadeeaf62
-0, 56, 56, 1, 112400, 0xc1ce636e
-0, 57, 57, 1, 112400, 0x5ca544eb
-0, 58, 58, 1, 112400, 0x07230a36
-0, 59, 59, 1, 112400, 0x12ae2b53
-0, 60, 60, 1, 112400, 0x62453ef6
-0, 61, 61, 1, 112400, 0xe0588a98
-0, 62, 62, 1, 112400, 0xacd3927a
-0, 63, 63, 1, 112400, 0x5d3c6b01
-0, 64, 64, 1, 112400, 0xda671808
-0, 65, 65, 1, 112400, 0x61d0b492
-0, 66, 66, 1, 112400, 0x068b1293
-0, 67, 67, 1, 112400, 0x75b99287
-0, 68, 68, 1, 112400, 0xe657e7d6
-0, 69, 69, 1, 112400, 0x17873df6
-0, 70, 70, 1, 112400, 0xa8db5e31
-0, 71, 71, 1, 112400, 0x4f633b8e
-0, 72, 72, 1, 112400, 0x22266252
-0, 73, 73, 1, 112400, 0x308a6282
-0, 74, 74, 1, 112400, 0xfdb356ce
-0, 75, 75, 1, 112400, 0xe4394f1f
-0, 76, 76, 1, 112400, 0x8ca8649f
-0, 77, 77, 1, 112400, 0x804d44eb
-0, 78, 78, 1, 112400, 0x3864488b
+0, 0, 0, 1, 224400, 0xd8f2f310
+0, 1, 1, 1, 224400, 0xe38676c2
+0, 2, 2, 1, 224400, 0x7163b6ad
+0, 3, 3, 1, 224400, 0xa514b0f7
+0, 4, 4, 1, 224400, 0xeed48b96
+0, 5, 5, 1, 224400, 0x5e9f02b2
+0, 6, 6, 1, 224400, 0x70822c53
+0, 7, 7, 1, 224400, 0x93101067
+0, 8, 8, 1, 224400, 0x0710e900
+0, 9, 9, 1, 224400, 0x0e8add6a
+0, 10, 10, 1, 224400, 0x53fb2c5a
+0, 11, 11, 1, 224400, 0xa58cc02f
+0, 12, 12, 1, 224400, 0x0a5cc76b
+0, 13, 13, 1, 224400, 0xfa551631
+0, 14, 14, 1, 224400, 0xde9f99bf
+0, 15, 15, 1, 224400, 0xe66a8690
+0, 16, 16, 1, 224400, 0xd9e6f3d1
+0, 17, 17, 1, 224400, 0xa479a5c6
+0, 18, 18, 1, 224400, 0xdaa3531f
+0, 19, 19, 1, 224400, 0xde3e6843
+0, 20, 20, 1, 224400, 0x181adafd
+0, 21, 21, 1, 224400, 0x784b6429
+0, 22, 22, 1, 224400, 0x91cdc30e
+0, 23, 23, 1, 224400, 0x6e78be49
+0, 24, 24, 1, 224400, 0x7515644c
+0, 25, 25, 1, 224400, 0xcc32a91b
+0, 26, 26, 1, 224400, 0xc63e3831
+0, 27, 27, 1, 224400, 0xfb53b651
+0, 28, 28, 1, 224400, 0x12ec8a01
+0, 29, 29, 1, 224400, 0x136fcb2c
+0, 30, 30, 1, 224400, 0x827fa546
+0, 31, 31, 1, 224400, 0x1773b7f5
+0, 32, 32, 1, 224400, 0x732defc1
+0, 33, 33, 1, 224400, 0x84292372
+0, 34, 34, 1, 224400, 0x20f22365
+0, 35, 35, 1, 224400, 0xb39a0700
+0, 36, 36, 1, 224400, 0xf245706c
+0, 37, 37, 1, 224400, 0xdb702ae7
+0, 38, 38, 1, 224400, 0xadfefe5b
+0, 39, 39, 1, 224400, 0xa667adcb
+0, 40, 40, 1, 224400, 0x4d645191
+0, 41, 41, 1, 224400, 0x33802f58
+0, 42, 42, 1, 224400, 0x24eff4b8
+0, 43, 43, 1, 224400, 0x4dc817a6
+0, 44, 44, 1, 224400, 0x9a891d35
+0, 45, 45, 1, 224400, 0x2d0bb83b
+0, 46, 46, 1, 224400, 0xd13469c1
+0, 47, 47, 1, 224400, 0xd2e6302a
+0, 48, 48, 1, 224400, 0xc7594ee1
+0, 49, 49, 1, 224400, 0xc6da714c
+0, 50, 50, 1, 224400, 0xf675e838
+0, 51, 51, 1, 224400, 0xdc047c76
+0, 52, 52, 1, 224400, 0xe5727de5
+0, 53, 53, 1, 224400, 0x153b0f62
+0, 54, 54, 1, 224400, 0x65922f68
+0, 55, 55, 1, 224400, 0x04e04bfb
+0, 56, 56, 1, 224400, 0x1dde6c88
+0, 57, 57, 1, 224400, 0xed3905f2
+0, 58, 58, 1, 224400, 0x211a5996
+0, 59, 59, 1, 224400, 0xd010baaf
+0, 60, 60, 1, 224400, 0xcbc9f272
+0, 61, 61, 1, 224400, 0x7380d6f0
+0, 62, 62, 1, 224400, 0xfd0bf084
+0, 63, 63, 1, 224400, 0xc4d671d9
+0, 64, 64, 1, 224400, 0x84236aa5
+0, 65, 65, 1, 224400, 0x9c584ede
+0, 66, 66, 1, 224400, 0xdb0c6029
+0, 67, 67, 1, 224400, 0x775ae560
+0, 68, 68, 1, 224400, 0xe3800916
+0, 69, 69, 1, 224400, 0x9313a8e8
+0, 70, 70, 1, 224400, 0x3a5d07cc
+0, 71, 71, 1, 224400, 0x4651a10b
+0, 72, 72, 1, 224400, 0xc2d72183
+0, 73, 73, 1, 224400, 0xcd971625
+0, 74, 74, 1, 224400, 0x9fb0f3c2
+0, 75, 75, 1, 224400, 0x920ee561
+0, 76, 76, 1, 224400, 0x8a2c1bbf
+0, 77, 77, 1, 224400, 0x6150c072
+0, 78, 78, 1, 224400, 0x499dc869
diff --git a/tests/ref/fate/film-cvid b/tests/ref/fate/film-cvid
index 12b1f1c..3ca7b59 100644
--- a/tests/ref/fate/film-cvid
+++ b/tests/ref/fate/film-cvid
@@ -1,111 +1,111 @@
#tb 0: 1/30
-0, 0, 0, 1, 107520, 0xa6c9fdd2
-0, 2, 2, 1, 107520, 0x61eb28c1
-0, 4, 4, 1, 107520, 0x45e20af7
-0, 6, 6, 1, 107520, 0x366970fc
-0, 8, 8, 1, 107520, 0xa392bcb3
-0, 10, 10, 1, 107520, 0xcf7bac98
-0, 12, 12, 1, 107520, 0x222eba53
-0, 14, 14, 1, 107520, 0x74e255a1
-0, 16, 16, 1, 107520, 0xc19eec6f
-0, 18, 18, 1, 107520, 0xa3880681
-0, 20, 20, 1, 107520, 0x957878db
-0, 22, 22, 1, 107520, 0x18340692
-0, 24, 24, 1, 107520, 0x9970f24d
-0, 26, 26, 1, 107520, 0xf08618aa
-0, 28, 28, 1, 107520, 0xee7324f0
-0, 30, 30, 1, 107520, 0xe15025b3
-0, 32, 32, 1, 107520, 0x8afa312e
-0, 34, 34, 1, 107520, 0x717a7d0f
-0, 36, 36, 1, 107520, 0x355c6e23
-0, 38, 38, 1, 107520, 0x7015a50f
-0, 40, 40, 1, 107520, 0xcdfc1a16
-0, 42, 42, 1, 107520, 0x38d929e7
-0, 44, 44, 1, 107520, 0x52913423
-0, 46, 46, 1, 107520, 0xe2c91c10
-0, 48, 48, 1, 107520, 0x85516e9c
-0, 50, 50, 1, 107520, 0xd1626030
-0, 52, 52, 1, 107520, 0xea7b16de
-0, 54, 54, 1, 107520, 0xa33eaa0d
-0, 56, 56, 1, 107520, 0x8e3be6a6
-0, 58, 58, 1, 107520, 0x14147bd6
-0, 60, 60, 1, 107520, 0x07d54bec
-0, 62, 62, 1, 107520, 0xe287a0a7
-0, 64, 64, 1, 107520, 0xc023a14d
-0, 66, 66, 1, 107520, 0x2437085d
-0, 68, 68, 1, 107520, 0x63823918
-0, 70, 70, 1, 107520, 0xbc17e198
-0, 72, 72, 1, 107520, 0x9d99bc81
-0, 74, 74, 1, 107520, 0x7e4ec71e
-0, 76, 76, 1, 107520, 0x55b98376
-0, 78, 78, 1, 107520, 0x356d8e9e
-0, 80, 80, 1, 107520, 0xf77e8a61
-0, 82, 82, 1, 107520, 0x5ae7c8c7
-0, 84, 84, 1, 107520, 0x8acf9322
-0, 86, 86, 1, 107520, 0x40a9177e
-0, 88, 88, 1, 107520, 0x3e0e4d8d
-0, 90, 90, 1, 107520, 0xd268865b
-0, 92, 92, 1, 107520, 0x89a4efeb
-0, 94, 94, 1, 107520, 0x70ca2478
-0, 96, 96, 1, 107520, 0xcc9ec981
-0, 98, 98, 1, 107520, 0xf0648459
-0, 100, 100, 1, 107520, 0x7e4a4cca
-0, 102, 102, 1, 107520, 0xb315dc65
-0, 104, 104, 1, 107520, 0x2aecc7b4
-0, 106, 106, 1, 107520, 0x81742f51
-0, 108, 108, 1, 107520, 0x3a1d7571
-0, 110, 110, 1, 107520, 0x3a1d7571
-0, 112, 112, 1, 107520, 0x3a1d7571
-0, 114, 114, 1, 107520, 0x3a1d7571
-0, 116, 116, 1, 107520, 0x3a1d7571
-0, 118, 118, 1, 107520, 0x3a1d7571
-0, 120, 120, 1, 107520, 0x3a1d7571
-0, 122, 122, 1, 107520, 0xe974733e
-0, 124, 124, 1, 107520, 0x999c6fbf
-0, 126, 126, 1, 107520, 0x26b56b6e
-0, 128, 128, 1, 107520, 0xc9f9647b
-0, 130, 130, 1, 107520, 0x6d025d00
-0, 132, 132, 1, 107520, 0xf9c056c1
-0, 134, 134, 1, 107520, 0xa5cc4d0b
-0, 136, 136, 1, 107520, 0x1a4c4236
-0, 138, 138, 1, 107520, 0xa9d538b6
-0, 140, 140, 1, 107520, 0x14682d00
-0, 142, 142, 1, 107520, 0x6236204f
-0, 144, 144, 1, 107520, 0x303e14aa
-0, 146, 146, 1, 107520, 0x943b0837
-0, 148, 148, 1, 107520, 0xfce5fd07
-0, 150, 150, 1, 107520, 0xd993f193
-0, 152, 152, 1, 107520, 0x4d48e7b4
-0, 154, 154, 1, 107520, 0x61ccdf83
-0, 156, 156, 1, 107520, 0xfb4fd608
-0, 158, 158, 1, 107520, 0x5efdcdb3
-0, 160, 160, 1, 107520, 0xb03ec886
-0, 162, 162, 1, 107520, 0xf464c343
-0, 164, 164, 1, 107520, 0xf464c343
-0, 166, 166, 1, 107520, 0xf464c343
-0, 168, 168, 1, 107520, 0xf464c343
-0, 170, 170, 1, 107520, 0xf464c343
-0, 172, 172, 1, 107520, 0xf464c343
-0, 174, 174, 1, 107520, 0xf464c343
-0, 176, 176, 1, 107520, 0xf464c343
-0, 178, 178, 1, 107520, 0xf464c343
-0, 180, 180, 1, 107520, 0xf464c343
-0, 182, 182, 1, 107520, 0xf464c343
-0, 184, 184, 1, 107520, 0xf2b2c712
-0, 186, 186, 1, 107520, 0xf2b2c712
-0, 188, 188, 1, 107520, 0xf2b2c712
-0, 190, 190, 1, 107520, 0xf2b2c712
-0, 192, 192, 1, 107520, 0xb95e6bc8
-0, 194, 194, 1, 107520, 0x33feee37
-0, 196, 196, 1, 107520, 0x36ee3cd5
-0, 198, 198, 1, 107520, 0x59096471
-0, 200, 200, 1, 107520, 0x53b470c6
-0, 202, 202, 1, 107520, 0xdb7c64ff
-0, 204, 204, 1, 107520, 0xe5a1596a
-0, 206, 206, 1, 107520, 0x8c8942eb
-0, 208, 208, 1, 107520, 0x5ecc379e
-0, 210, 210, 1, 107520, 0xea09432a
-0, 212, 212, 1, 107520, 0xe01e6b73
-0, 214, 214, 1, 107520, 0x1d13bba8
-0, 216, 216, 1, 107520, 0x3a993a6c
-0, 218, 218, 1, 107520, 0x2ede041a
+0, 0, 0, 1, 215040, 0x067c5362
+0, 2, 2, 1, 215040, 0xd9eacb98
+0, 4, 4, 1, 215040, 0x3c8a4cbd
+0, 6, 6, 1, 215040, 0xbdf996e1
+0, 8, 8, 1, 215040, 0x1b7fa123
+0, 10, 10, 1, 215040, 0x834b4a8d
+0, 12, 12, 1, 215040, 0xf4b1bebe
+0, 14, 14, 1, 215040, 0x088c3802
+0, 16, 16, 1, 215040, 0xf6ddedb9
+0, 18, 18, 1, 215040, 0x2791d538
+0, 20, 20, 1, 215040, 0x81fe4688
+0, 22, 22, 1, 215040, 0xad864fbd
+0, 24, 24, 1, 215040, 0xa637a97a
+0, 26, 26, 1, 215040, 0x2287e378
+0, 28, 28, 1, 215040, 0x13a017d7
+0, 30, 30, 1, 215040, 0x89a4acee
+0, 32, 32, 1, 215040, 0x97888ffc
+0, 34, 34, 1, 215040, 0x7c2c3b58
+0, 36, 36, 1, 215040, 0x2e3ab808
+0, 38, 38, 1, 215040, 0x2d553af2
+0, 40, 40, 1, 215040, 0x929c420e
+0, 42, 42, 1, 215040, 0x4841bd6d
+0, 44, 44, 1, 215040, 0xb350fbcd
+0, 46, 46, 1, 215040, 0x0d70b918
+0, 48, 48, 1, 215040, 0xf98b0f47
+0, 50, 50, 1, 215040, 0x748b8ff2
+0, 52, 52, 1, 215040, 0x62017c38
+0, 54, 54, 1, 215040, 0x46042bb4
+0, 56, 56, 1, 215040, 0xe7a74806
+0, 58, 58, 1, 215040, 0xb4c856e6
+0, 60, 60, 1, 215040, 0xb21a28dd
+0, 62, 62, 1, 215040, 0x2a6e0834
+0, 64, 64, 1, 215040, 0x7044d6ca
+0, 66, 66, 1, 215040, 0x17780335
+0, 68, 68, 1, 215040, 0x94f51e7a
+0, 70, 70, 1, 215040, 0x5beb5f5f
+0, 72, 72, 1, 215040, 0xc7d59527
+0, 74, 74, 1, 215040, 0x40f69049
+0, 76, 76, 1, 215040, 0x1f78740e
+0, 78, 78, 1, 215040, 0x49f7265d
+0, 80, 80, 1, 215040, 0x057ac5c9
+0, 82, 82, 1, 215040, 0x649bd476
+0, 84, 84, 1, 215040, 0x1c75aa43
+0, 86, 86, 1, 215040, 0xc4bd1e29
+0, 88, 88, 1, 215040, 0x5033fa74
+0, 90, 90, 1, 215040, 0xba5c949e
+0, 92, 92, 1, 215040, 0x2fa78a0e
+0, 94, 94, 1, 215040, 0x9d363dce
+0, 96, 96, 1, 215040, 0xd1dc82b0
+0, 98, 98, 1, 215040, 0xd25be322
+0, 100, 100, 1, 215040, 0xf1374ef9
+0, 102, 102, 1, 215040, 0x33467b42
+0, 104, 104, 1, 215040, 0x7ec7dfad
+0, 106, 106, 1, 215040, 0x706ed416
+0, 108, 108, 1, 215040, 0x6576b3eb
+0, 110, 110, 1, 215040, 0x6576b3eb
+0, 112, 112, 1, 215040, 0x6576b3eb
+0, 114, 114, 1, 215040, 0x6576b3eb
+0, 116, 116, 1, 215040, 0x6576b3eb
+0, 118, 118, 1, 215040, 0x6576b3eb
+0, 120, 120, 1, 215040, 0x6576b3eb
+0, 122, 122, 1, 215040, 0x6873993d
+0, 124, 124, 1, 215040, 0x8c2a84d8
+0, 126, 126, 1, 215040, 0xdd456bd5
+0, 128, 128, 1, 215040, 0x50fa4f3d
+0, 130, 130, 1, 215040, 0x00c4369c
+0, 132, 132, 1, 215040, 0xe4c220d2
+0, 134, 134, 1, 215040, 0xe43a033b
+0, 136, 136, 1, 215040, 0x72f6e32c
+0, 138, 138, 1, 215040, 0xb738c69c
+0, 140, 140, 1, 215040, 0x56bda3fe
+0, 142, 142, 1, 215040, 0xaa2f7da3
+0, 144, 144, 1, 215040, 0xf21f5c24
+0, 146, 146, 1, 215040, 0xd33e3579
+0, 148, 148, 1, 215040, 0x6a601495
+0, 150, 150, 1, 215040, 0xdfcff1e0
+0, 152, 152, 1, 215040, 0xa774d327
+0, 154, 154, 1, 215040, 0x8e9db8c9
+0, 156, 156, 1, 215040, 0xb4fd9689
+0, 158, 158, 1, 215040, 0xa80b77ff
+0, 160, 160, 1, 215040, 0x1d9c6568
+0, 162, 162, 1, 215040, 0x388c515a
+0, 164, 164, 1, 215040, 0x388c515a
+0, 166, 166, 1, 215040, 0x388c515a
+0, 168, 168, 1, 215040, 0x388c515a
+0, 170, 170, 1, 215040, 0x388c515a
+0, 172, 172, 1, 215040, 0x388c515a
+0, 174, 174, 1, 215040, 0x388c515a
+0, 176, 176, 1, 215040, 0x388c515a
+0, 178, 178, 1, 215040, 0x388c515a
+0, 180, 180, 1, 215040, 0x388c515a
+0, 182, 182, 1, 215040, 0x388c515a
+0, 184, 184, 1, 215040, 0x3aef5fee
+0, 186, 186, 1, 215040, 0x3aef5fee
+0, 188, 188, 1, 215040, 0x3aef5fee
+0, 190, 190, 1, 215040, 0x3aef5fee
+0, 192, 192, 1, 215040, 0x7f8e4b62
+0, 194, 194, 1, 215040, 0xbf9fcae8
+0, 196, 196, 1, 215040, 0x02f9a66c
+0, 198, 198, 1, 215040, 0x00ef062f
+0, 200, 200, 1, 215040, 0xe83b132c
+0, 202, 202, 1, 215040, 0x2701d21b
+0, 204, 204, 1, 215040, 0xbea79188
+0, 206, 206, 1, 215040, 0x6f6d3109
+0, 208, 208, 1, 215040, 0x4173f1e8
+0, 210, 210, 1, 215040, 0xd7adfce1
+0, 212, 212, 1, 215040, 0xa3825ffd
+0, 214, 214, 1, 215040, 0x41e63fe4
+0, 216, 216, 1, 215040, 0xb525b9c5
+0, 218, 218, 1, 215040, 0x00000000
--
1.5.4
More information about the ffmpeg-devel
mailing list