diff options
author | u-bo1b@0w.se <u-bo1b@0w.se> | 2013-02-18 18:00:33 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-02-20 04:13:33 +0100 |
commit | 4e635e10e29f5ee8db409df478481236f6a225f5 (patch) | |
tree | c9dee233e17a9b14d37d764998061e690e67859e | |
parent | f5c00b347dc76285c639d9878a014c40395c5228 (diff) | |
download | ffmpeg-4e635e10e29f5ee8db409df478481236f6a225f5.tar.gz |
cinepak: Use correct colorspace.
The new code is also faster and more robust.
As for the performance:
old decoder + conversion to rgb: fps = 2618
old decoder, without converting to rgb: fps = 4012
new decoder, producing rgb: fps = 4502
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/cinepak.c | 223 | ||||
-rw-r--r-- | tests/ref/fate/cvid-grayscale | 304 | ||||
-rw-r--r-- | tests/ref/fate/cvid-partial | 158 | ||||
-rw-r--r-- | tests/ref/fate/film-cvid | 220 |
4 files changed, 455 insertions, 450 deletions
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c index 54ad51c9e2..a78e1f1d0b 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 87ca600add..1b586b3dde 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 907ef4a5d2..bb368a1eae 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 12b1f1cdcb..3ca7b5981c 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 |