From 2f1d6d45af42fc8bfa4d13afef08ad9465d216cc Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Fri, 30 Oct 2015 01:24:50 +0100 Subject: [PATCH] lavc/cdg: Add transparency support. --- libavcodec/cdgraphics.c | 8 + libavcodec/version.h | 2 +- tests/fate/video.mak | 2 +- tests/ref/fate/cdgraphics | 424 +++++++++++++++++++------------------- 4 files changed, 222 insertions(+), 214 deletions(-) diff --git a/libavcodec/cdgraphics.c b/libavcodec/cdgraphics.c index aca7cb057b..87ad5e79f4 100644 --- a/libavcodec/cdgraphics.c +++ b/libavcodec/cdgraphics.c @@ -49,6 +49,7 @@ #define CDG_INST_TILE_BLOCK 6 #define CDG_INST_SCROLL_PRESET 20 #define CDG_INST_SCROLL_COPY 24 +#define CDG_INST_TRANSPARENT_COL 28 #define CDG_INST_LOAD_PAL_LO 30 #define CDG_INST_LOAD_PAL_HIGH 31 #define CDG_INST_TILE_BLOCK_XOR 38 @@ -67,6 +68,7 @@ typedef struct CDGraphicsContext { AVFrame *frame; int hscroll; int vscroll; + int transparency; } CDGraphicsContext; static av_cold int cdg_decode_init(AVCodecContext *avctx) @@ -76,6 +78,7 @@ static av_cold int cdg_decode_init(AVCodecContext *avctx) cc->frame = av_frame_alloc(); if (!cc->frame) return AVERROR(ENOMEM); + cc->transparency = -1; avctx->width = CDG_FULL_WIDTH; avctx->height = CDG_FULL_HEIGHT; @@ -120,6 +123,8 @@ static void cdg_load_palette(CDGraphicsContext *cc, uint8_t *data, int low) g = ((color >> 4) & 0x000F) * 17; b = ((color ) & 0x000F) * 17; palette[i + array_offset] = 0xFFU << 24 | r << 16 | g << 8 | b; + if (cc->transparency >= 0) + palette[cc->transparency] &= 0xFFFFFF; } cc->frame->palette_has_changed = 1; } @@ -341,6 +346,9 @@ static int cdg_decode_frame(AVCodecContext *avctx, if (ret < 0) return ret; break; + case CDG_INST_TRANSPARENT_COL: + cc->transparency = cdg_data[0] & 0xF; + break; default: break; } diff --git a/libavcodec/version.h b/libavcodec/version.h index f7e2857cf8..71e0703b8e 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -30,7 +30,7 @@ #define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MINOR 13 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/tests/fate/video.mak b/tests/fate/video.mak index d128c7548f..8b70b08410 100644 --- a/tests/fate/video.mak +++ b/tests/fate/video.mak @@ -85,7 +85,7 @@ FATE_VIDEO-$(call DEMDEC, MPEGPS, CAVS) += fate-cavs fate-cavs: CMD = framecrc -i $(TARGET_SAMPLES)/cavs/cavs.mpg -an FATE_VIDEO-$(call DEMDEC, CDG, CDGRAPHICS) += fate-cdgraphics -fate-cdgraphics: CMD = framecrc -i $(TARGET_SAMPLES)/cdgraphics/BrotherJohn.cdg -pix_fmt rgb24 -t 1 +fate-cdgraphics: CMD = framecrc -i $(TARGET_SAMPLES)/cdgraphics/BrotherJohn.cdg -pix_fmt rgba -t 1 FATE_VIDEO-$(call DEMDEC, AVI, CLJR) += fate-cljr fate-cljr: CMD = framecrc -i $(TARGET_SAMPLES)/cljr/testcljr-partial.avi diff --git a/tests/ref/fate/cdgraphics b/tests/ref/fate/cdgraphics index a7820591c9..ee02f5d526 100644 --- a/tests/ref/fate/cdgraphics +++ b/tests/ref/fate/cdgraphics @@ -1,213 +1,213 @@ #tb 0: 1/300 -0, 0, 0, 1, 194400, 0x46ad80da -0, 1, 1, 1, 194400, 0x46ad80da -0, 2, 2, 1, 194400, 0x9392c3b9 -0, 3, 3, 1, 194400, 0x9392c3b9 -0, 4, 4, 1, 194400, 0x9392c3b9 -0, 5, 5, 1, 194400, 0x9392c3b9 -0, 6, 6, 1, 194400, 0x9392c3b9 -0, 7, 7, 1, 194400, 0x9392c3b9 -0, 8, 8, 1, 194400, 0x9392c3b9 -0, 9, 9, 1, 194400, 0x9392c3b9 -0, 10, 10, 1, 194400, 0x9392c3b9 -0, 11, 11, 1, 194400, 0x9392c3b9 -0, 12, 12, 1, 194400, 0x9392c3b9 -0, 13, 13, 1, 194400, 0x9392c3b9 -0, 14, 14, 1, 194400, 0x9392c3b9 -0, 15, 15, 1, 194400, 0x9392c3b9 -0, 16, 16, 1, 194400, 0x46ad80da -0, 17, 17, 1, 194400, 0x46ad80da -0, 18, 18, 1, 194400, 0x46ad80da -0, 19, 19, 1, 194400, 0x46ad80da -0, 20, 20, 1, 194400, 0x46ad80da -0, 21, 21, 1, 194400, 0x46ad80da -0, 22, 22, 1, 194400, 0x46ad80da -0, 23, 23, 1, 194400, 0x46ad80da -0, 24, 24, 1, 194400, 0x46ad80da -0, 25, 25, 1, 194400, 0x46ad80da -0, 26, 26, 1, 194400, 0x46ad80da -0, 27, 27, 1, 194400, 0x46ad80da -0, 28, 28, 1, 194400, 0x46ad80da -0, 29, 29, 1, 194400, 0x46ad80da -0, 30, 30, 1, 194400, 0x46ad80da -0, 31, 31, 1, 194400, 0x46ad80da -0, 32, 32, 1, 194400, 0x9392c3b9 -0, 33, 33, 1, 194400, 0x9ff8cbb1 -0, 34, 34, 1, 194400, 0xd015dba1 -0, 35, 35, 1, 194400, 0x6a39f18b -0, 37, 37, 1, 194400, 0x7b8cf983 -0, 38, 38, 1, 194400, 0x07a20f7c -0, 40, 40, 1, 194400, 0xa63e2962 -0, 41, 41, 1, 194400, 0x2dd54447 -0, 43, 43, 1, 194400, 0x90735e2d -0, 44, 44, 1, 194400, 0x90d98506 -0, 46, 46, 1, 194400, 0xe5b08ffb -0, 47, 47, 1, 194400, 0x7a0d95f5 -0, 49, 49, 1, 194400, 0xff6bacde -0, 50, 50, 1, 194400, 0xd998c2c8 -0, 52, 52, 1, 194400, 0x3d1ddfab -0, 53, 53, 1, 194400, 0x817de4a6 -0, 55, 55, 1, 194400, 0xfa3ef694 -0, 56, 56, 1, 194400, 0x0b5bfb8f -0, 58, 58, 1, 194400, 0x00f62376 -0, 59, 59, 1, 194400, 0x2f6b2d6c -0, 61, 61, 1, 194400, 0x40cb4752 -0, 62, 62, 1, 194400, 0xd8456435 -0, 64, 64, 1, 194400, 0x459f6a2f -0, 65, 65, 1, 194400, 0x9b678910 -0, 67, 67, 1, 194400, 0x8791a1f7 -0, 68, 68, 1, 194400, 0xdb4ac5d3 -0, 70, 70, 1, 194400, 0xb223c8d0 -0, 71, 71, 1, 194400, 0x4a9ce7b1 -0, 73, 73, 1, 194400, 0x187eeaae -0, 74, 74, 1, 194400, 0xc712f8a0 -0, 76, 76, 1, 194400, 0x549c00a7 -0, 77, 77, 1, 194400, 0x4d991295 -0, 79, 79, 1, 194400, 0xc41b2681 -0, 80, 80, 1, 194400, 0xed5a3077 -0, 82, 82, 1, 194400, 0x85ad4463 -0, 83, 83, 1, 194400, 0xb98f4760 -0, 85, 85, 1, 194400, 0x87ef5e49 -0, 86, 86, 1, 194400, 0x830a6146 -0, 88, 88, 1, 194400, 0xe33a792e -0, 89, 89, 1, 194400, 0x83517a2d -0, 91, 91, 1, 194400, 0xa97e9314 -0, 92, 92, 1, 194400, 0x39059611 -0, 94, 94, 1, 194400, 0xbf4eb9ed -0, 95, 95, 1, 194400, 0xe5afc4e2 -0, 97, 97, 1, 194400, 0x35d4cdd9 -0, 98, 98, 1, 194400, 0xb376e1c5 -0, 100, 100, 1, 194400, 0x6128e3c3 -0, 101, 101, 1, 194400, 0x30b7f7af -0, 103, 103, 1, 194400, 0xf1effaac -0, 104, 104, 1, 194400, 0x483914a1 -0, 106, 106, 1, 194400, 0xbd48199c -0, 107, 107, 1, 194400, 0x382f2d88 -0, 109, 109, 1, 194400, 0x5a573085 -0, 110, 110, 1, 194400, 0x89733580 -0, 112, 112, 1, 194400, 0xd1325a5b -0, 113, 113, 1, 194400, 0x655b6253 -0, 115, 115, 1, 194400, 0x55146352 -0, 116, 116, 1, 194400, 0xda527c39 -0, 118, 118, 1, 194400, 0xb0cd7e37 -0, 119, 119, 1, 194400, 0x25e7991c -0, 121, 121, 1, 194400, 0x5c22a411 -0, 122, 122, 1, 194400, 0x1e2abdf7 -0, 124, 124, 1, 194400, 0x8308bff5 -0, 125, 125, 1, 194400, 0xfdbfd6de -0, 127, 127, 1, 194400, 0xd4d4d9db -0, 128, 128, 1, 194400, 0xa449fbb9 -0, 130, 130, 1, 194400, 0x3dcafdb7 -0, 131, 131, 1, 194400, 0x6f1f01c2 -0, 133, 133, 1, 194400, 0xf54a1da6 -0, 134, 134, 1, 194400, 0x88d11fa4 -0, 136, 136, 1, 194400, 0x59642d96 -0, 137, 137, 1, 194400, 0x8ba44182 -0, 139, 139, 1, 194400, 0x88f56360 -0, 140, 140, 1, 194400, 0xfb246d56 -0, 142, 142, 1, 194400, 0xad128043 -0, 143, 143, 1, 194400, 0x3a4f8a39 -0, 145, 145, 1, 194400, 0x563d9d26 -0, 146, 146, 1, 194400, 0x6ff8a320 -0, 148, 148, 1, 194400, 0xcdb9b70c -0, 149, 149, 1, 194400, 0x99c2bd06 -0, 151, 151, 1, 194400, 0x4b47cef4 -0, 152, 152, 1, 194400, 0x10b9dce6 -0, 154, 154, 1, 194400, 0xdd39f1d1 -0, 155, 155, 1, 194400, 0xbcf104cd -0, 157, 157, 1, 194400, 0x85ec17ba -0, 158, 158, 1, 194400, 0x069219b8 -0, 160, 160, 1, 194400, 0x84dd3899 -0, 161, 161, 1, 194400, 0xacca4190 -0, 163, 163, 1, 194400, 0xcf5b5d74 -0, 164, 164, 1, 194400, 0x4b8c626f -0, 166, 166, 1, 194400, 0xf0817958 -0, 167, 167, 1, 194400, 0xc0887e53 -0, 169, 169, 1, 194400, 0x42e6854c -0, 170, 170, 1, 194400, 0x036c9140 -0, 172, 172, 1, 194400, 0x0f21a62b -0, 173, 173, 1, 194400, 0xcdaeaa27 -0, 175, 175, 1, 194400, 0xe425bc15 -0, 176, 176, 1, 194400, 0x8e18c20f -0, 178, 178, 1, 194400, 0x767cd5fb -0, 179, 179, 1, 194400, 0x554ae6ea -0, 181, 181, 1, 194400, 0xeac1f9d7 -0, 182, 182, 1, 194400, 0x0b32fed2 -0, 184, 184, 1, 194400, 0xe30c19c6 -0, 185, 185, 1, 194400, 0x6a8a23bc -0, 187, 187, 1, 194400, 0x26bf36a9 -0, 188, 188, 1, 194400, 0x1e4f3fa0 -0, 190, 190, 1, 194400, 0x231f5986 -0, 191, 191, 1, 194400, 0xf557756a -0, 193, 193, 1, 194400, 0x6bce805f -0, 194, 194, 1, 194400, 0xcd80924d -0, 196, 196, 1, 194400, 0x65dc9f40 -0, 197, 197, 1, 194400, 0x2ab7af30 -0, 199, 199, 1, 194400, 0xd43cb728 -0, 200, 200, 1, 194400, 0x05d9c916 -0, 202, 202, 1, 194400, 0x43cad10e -0, 203, 203, 1, 194400, 0x06b5e0fe -0, 205, 205, 1, 194400, 0xa142f0ee -0, 206, 206, 1, 194400, 0xed7f03ea -0, 208, 208, 1, 194400, 0xf26019d4 -0, 209, 209, 1, 194400, 0x3b7f29c4 -0, 211, 211, 1, 194400, 0x30282ebf -0, 212, 212, 1, 194400, 0xaeff4aa3 -0, 214, 214, 1, 194400, 0x1d355697 -0, 215, 215, 1, 194400, 0x2ead6f7e -0, 217, 217, 1, 194400, 0xf1b67776 -0, 218, 218, 1, 194400, 0x93b38b62 -0, 220, 220, 1, 194400, 0x9469905d -0, 221, 221, 1, 194400, 0x27bf9756 -0, 223, 223, 1, 194400, 0xd016a548 -0, 224, 224, 1, 194400, 0x6889b835 -0, 226, 226, 1, 194400, 0x6a05be2f -0, 227, 227, 1, 194400, 0xe0a1ce1f -0, 229, 229, 1, 194400, 0x8fdbd617 -0, 230, 230, 1, 194400, 0xd68fe805 -0, 232, 232, 1, 194400, 0x0d1dfbf1 -0, 233, 233, 1, 194400, 0x0fe70bf0 -0, 235, 235, 1, 194400, 0x0a8f13e8 -0, 236, 236, 1, 194400, 0x0ca42bd0 -0, 238, 238, 1, 194400, 0x6f3838c3 -0, 239, 239, 1, 194400, 0x045448b3 -0, 241, 241, 1, 194400, 0x764349b2 -0, 242, 242, 1, 194400, 0xed1651aa -0, 244, 244, 1, 194400, 0xbb376398 -0, 245, 245, 1, 194400, 0xd0d5718a -0, 247, 247, 1, 194400, 0xcd977e7d -0, 248, 248, 1, 194400, 0x8cb39665 -0, 250, 250, 1, 194400, 0xb935b04b -0, 251, 251, 1, 194400, 0x0292be3d -0, 253, 253, 1, 194400, 0x4f21c833 -0, 254, 254, 1, 194400, 0xa5c7d823 -0, 256, 256, 1, 194400, 0xfb8ee01b -0, 257, 257, 1, 194400, 0xea53ee0d -0, 259, 259, 1, 194400, 0x803efcfe -0, 260, 260, 1, 194400, 0x2c0e0aff -0, 262, 262, 1, 194400, 0x3df318f1 -0, 263, 263, 1, 194400, 0xc4cb26e3 -0, 265, 265, 1, 194400, 0x92a033d6 -0, 266, 266, 1, 194400, 0x1b2048c1 -0, 268, 268, 1, 194400, 0x236858b1 -0, 269, 269, 1, 194400, 0x482f6d9c -0, 271, 271, 1, 194400, 0x9ee97891 -0, 272, 272, 1, 194400, 0xe0dc8683 -0, 274, 274, 1, 194400, 0x461b9079 -0, 275, 275, 1, 194400, 0xd346a960 -0, 277, 277, 1, 194400, 0xa384b554 -0, 278, 278, 1, 194400, 0x3246cf3a -0, 280, 280, 1, 194400, 0xa53fe722 -0, 281, 281, 1, 194400, 0xe620fd0c -0, 283, 283, 1, 194400, 0xd6370414 -0, 284, 284, 1, 194400, 0xf57f1404 -0, 286, 286, 1, 194400, 0x8c6420f7 -0, 287, 287, 1, 194400, 0xd4be3add -0, 289, 289, 1, 194400, 0xa8dc4ec9 -0, 290, 290, 1, 194400, 0xda1563b4 -0, 292, 292, 1, 194400, 0xd51873a4 -0, 293, 293, 1, 194400, 0x68588196 -0, 295, 295, 1, 194400, 0x40d18e89 -0, 296, 296, 1, 194400, 0x1b75a275 -0, 298, 298, 1, 194400, 0xedd1a572 -0, 299, 299, 1, 194400, 0x55daad6a +0, 0, 0, 1, 259200, 0x29aeb27e +0, 1, 1, 1, 259200, 0x29aeb27e +0, 2, 2, 1, 259200, 0x6779f55d +0, 3, 3, 1, 259200, 0x6779f55d +0, 4, 4, 1, 259200, 0x6779f55d +0, 5, 5, 1, 259200, 0x6779f55d +0, 6, 6, 1, 259200, 0x6779f55d +0, 7, 7, 1, 259200, 0x6779f55d +0, 8, 8, 1, 259200, 0x6779f55d +0, 9, 9, 1, 259200, 0x6779f55d +0, 10, 10, 1, 259200, 0x6779f55d +0, 11, 11, 1, 259200, 0x6779f55d +0, 12, 12, 1, 259200, 0x6779f55d +0, 13, 13, 1, 259200, 0xf33cc0c4 +0, 14, 14, 1, 259200, 0xf33cc0c4 +0, 15, 15, 1, 259200, 0xf33cc0c4 +0, 16, 16, 1, 259200, 0x098280da +0, 17, 17, 1, 259200, 0x098280da +0, 18, 18, 1, 259200, 0x098280da +0, 19, 19, 1, 259200, 0x098280da +0, 20, 20, 1, 259200, 0x098280da +0, 21, 21, 1, 259200, 0x098280da +0, 22, 22, 1, 259200, 0x098280da +0, 23, 23, 1, 259200, 0x098280da +0, 24, 24, 1, 259200, 0x098280da +0, 25, 25, 1, 259200, 0x098280da +0, 26, 26, 1, 259200, 0x098280da +0, 27, 27, 1, 259200, 0x098280da +0, 28, 28, 1, 259200, 0x098280da +0, 29, 29, 1, 259200, 0x098280da +0, 30, 30, 1, 259200, 0x098280da +0, 31, 31, 1, 259200, 0x098280da +0, 32, 32, 1, 259200, 0xf33cc0c4 +0, 33, 33, 1, 259200, 0xa389d0b4 +0, 34, 34, 1, 259200, 0xecf1f094 +0, 35, 35, 1, 259200, 0xe7171c77 +0, 37, 37, 1, 259200, 0xf9d72c67 +0, 38, 38, 1, 259200, 0x7932583b +0, 40, 40, 1, 259200, 0x1c618c07 +0, 41, 41, 1, 259200, 0x7e88c1d1 +0, 43, 43, 1, 259200, 0x2c5df59d +0, 44, 44, 1, 259200, 0xa78f435e +0, 46, 46, 1, 259200, 0xb96e5948 +0, 47, 47, 1, 259200, 0x85c1653c +0, 49, 49, 1, 259200, 0xefdc930e +0, 50, 50, 1, 259200, 0xea24bee2 +0, 52, 52, 1, 259200, 0x8feef8a8 +0, 53, 53, 1, 259200, 0x8a7b02ad +0, 55, 55, 1, 259200, 0xe41b2689 +0, 56, 56, 1, 259200, 0x007d307f +0, 58, 58, 1, 259200, 0xb0c9802f +0, 59, 59, 1, 259200, 0xb50c941b +0, 61, 61, 1, 259200, 0xdf7dc7e7 +0, 62, 62, 1, 259200, 0xbaac01bc +0, 64, 64, 1, 259200, 0x1ef70db0 +0, 65, 65, 1, 259200, 0xeeab4b72 +0, 67, 67, 1, 259200, 0x0eaf7d40 +0, 68, 68, 1, 259200, 0xc7bec4f8 +0, 70, 70, 1, 259200, 0xa506caf2 +0, 71, 71, 1, 259200, 0x268808c3 +0, 73, 73, 1, 259200, 0xebd90ebd +0, 74, 74, 1, 259200, 0x8d792aa1 +0, 76, 76, 1, 259200, 0x960d3a91 +0, 77, 77, 1, 259200, 0xf0395e6d +0, 79, 79, 1, 259200, 0x3d0e8645 +0, 80, 80, 1, 259200, 0x88bc9a31 +0, 82, 82, 1, 259200, 0xda37c209 +0, 83, 83, 1, 259200, 0xafa6c803 +0, 85, 85, 1, 259200, 0xdc58f5d5 +0, 86, 86, 1, 259200, 0x1a5ffbcf +0, 88, 88, 1, 259200, 0xc8872bae +0, 89, 89, 1, 259200, 0xc5472dac +0, 91, 91, 1, 259200, 0xd54e5f7a +0, 92, 92, 1, 259200, 0xf4576574 +0, 94, 94, 1, 259200, 0xdefaad2c +0, 95, 95, 1, 259200, 0xca44c316 +0, 97, 97, 1, 259200, 0x8102d504 +0, 98, 98, 1, 259200, 0xe0c8fcdc +0, 100, 100, 1, 259200, 0x53c100e7 +0, 101, 101, 1, 259200, 0x8de628bf +0, 103, 103, 1, 259200, 0x86f92eb9 +0, 104, 104, 1, 259200, 0x13c66285 +0, 106, 106, 1, 259200, 0xe5766c7b +0, 107, 107, 1, 259200, 0x3ddb9453 +0, 109, 109, 1, 259200, 0x39559a4d +0, 110, 110, 1, 259200, 0x507da443 +0, 112, 112, 1, 259200, 0x3b8dedf9 +0, 113, 113, 1, 259200, 0x55c9fde9 +0, 115, 115, 1, 259200, 0x7c43ffe7 +0, 116, 116, 1, 259200, 0xdf2c31c4 +0, 118, 118, 1, 259200, 0x144735c0 +0, 119, 119, 1, 259200, 0x9a716b8a +0, 121, 121, 1, 259200, 0x5ab08174 +0, 122, 122, 1, 259200, 0x06dcb540 +0, 124, 124, 1, 259200, 0x0d09b93c +0, 125, 125, 1, 259200, 0x5abce70e +0, 127, 127, 1, 259200, 0x38a4ed08 +0, 128, 128, 1, 259200, 0x427b30d3 +0, 130, 130, 1, 259200, 0x7f8d34cf +0, 131, 131, 1, 259200, 0xf5613cc7 +0, 133, 133, 1, 259200, 0x5086748f +0, 134, 134, 1, 259200, 0x7da8788b +0, 136, 136, 1, 259200, 0x79c8946f +0, 137, 137, 1, 259200, 0x65d9bc47 +0, 139, 139, 1, 259200, 0x3f5a0012 +0, 140, 140, 1, 259200, 0x4d9713fe +0, 142, 142, 1, 259200, 0x917839d8 +0, 143, 143, 1, 259200, 0x92624dc4 +0, 145, 145, 1, 259200, 0x465c739e +0, 146, 146, 1, 259200, 0x21137f92 +0, 148, 148, 1, 259200, 0xd677a76a +0, 149, 149, 1, 259200, 0xe1efb35e +0, 151, 151, 1, 259200, 0xd2d6d73a +0, 152, 152, 1, 259200, 0x06a8f31e +0, 154, 154, 1, 259200, 0x8aaf1d03 +0, 155, 155, 1, 259200, 0x9e0a42dd +0, 157, 157, 1, 259200, 0x1f7268b7 +0, 158, 158, 1, 259200, 0x1a3c6cb3 +0, 160, 160, 1, 259200, 0x5607aa75 +0, 161, 161, 1, 259200, 0xa19ebc63 +0, 163, 163, 1, 259200, 0x9dbaf42b +0, 164, 164, 1, 259200, 0x2d06fe21 +0, 166, 166, 1, 259200, 0x960e2c02 +0, 167, 167, 1, 259200, 0x04f935f8 +0, 169, 169, 1, 259200, 0x488143ea +0, 170, 170, 1, 259200, 0xcb515bd2 +0, 172, 172, 1, 259200, 0xa27c85a8 +0, 173, 173, 1, 259200, 0x3bb38da0 +0, 175, 175, 1, 259200, 0x39d9b17c +0, 176, 176, 1, 259200, 0x3fbcbd70 +0, 178, 178, 1, 259200, 0xbc19e548 +0, 179, 179, 1, 259200, 0x29400735 +0, 181, 181, 1, 259200, 0x21612d0f +0, 182, 182, 1, 259200, 0x66943705 +0, 184, 184, 1, 259200, 0x9efa6ccf +0, 185, 185, 1, 259200, 0x3b4180bb +0, 187, 187, 1, 259200, 0x9a8aa695 +0, 188, 188, 1, 259200, 0x6529b883 +0, 190, 190, 1, 259200, 0x6e1aec4f +0, 191, 191, 1, 259200, 0x3ebc2426 +0, 193, 193, 1, 259200, 0xff6e3a10 +0, 194, 194, 1, 259200, 0x70f05dec +0, 196, 196, 1, 259200, 0x853777d2 +0, 197, 197, 1, 259200, 0x05ea97b2 +0, 199, 199, 1, 259200, 0x03f3a7a2 +0, 200, 200, 1, 259200, 0xf4f7cb7e +0, 202, 202, 1, 259200, 0xd411db6e +0, 203, 203, 1, 259200, 0xfa3afb4e +0, 205, 205, 1, 259200, 0x0a451b3d +0, 206, 206, 1, 259200, 0x94624117 +0, 208, 208, 1, 259200, 0x00996ceb +0, 209, 209, 1, 259200, 0x8c898ccb +0, 211, 211, 1, 259200, 0x5d2496c1 +0, 212, 212, 1, 259200, 0x4f5fce89 +0, 214, 214, 1, 259200, 0xf6a0e671 +0, 215, 215, 1, 259200, 0xcf6f184e +0, 217, 217, 1, 259200, 0x66e2283e +0, 218, 218, 1, 259200, 0x7cd25016 +0, 220, 220, 1, 259200, 0xc2e05a0c +0, 221, 221, 1, 259200, 0x33b767fe +0, 223, 223, 1, 259200, 0x6f5583e2 +0, 224, 224, 1, 259200, 0x19f3a9bc +0, 226, 226, 1, 259200, 0xb3f3b5b0 +0, 227, 227, 1, 259200, 0x6417d590 +0, 229, 229, 1, 259200, 0x7130e580 +0, 230, 230, 1, 259200, 0x4558096b +0, 232, 232, 1, 259200, 0x920c3143 +0, 233, 233, 1, 259200, 0xb7e75123 +0, 235, 235, 1, 259200, 0x38e46113 +0, 236, 236, 1, 259200, 0x96ba90e3 +0, 238, 238, 1, 259200, 0xc65faac9 +0, 239, 239, 1, 259200, 0x7260caa9 +0, 241, 241, 1, 259200, 0x4983cca7 +0, 242, 242, 1, 259200, 0xc04ddc97 +0, 244, 244, 1, 259200, 0x52de0082 +0, 245, 245, 1, 259200, 0xb1cb1c66 +0, 247, 247, 1, 259200, 0x273b364c +0, 248, 248, 1, 259200, 0xd26a661c +0, 250, 250, 1, 259200, 0x9a9599e8 +0, 251, 251, 1, 259200, 0x2e16b5cc +0, 253, 253, 1, 259200, 0x2d4ec9b8 +0, 254, 254, 1, 259200, 0x32d8e998 +0, 256, 256, 1, 259200, 0x5182f988 +0, 257, 257, 1, 259200, 0x48d7157b +0, 259, 259, 1, 259200, 0xa50f335d +0, 260, 260, 1, 259200, 0x3f274f41 +0, 262, 262, 1, 259200, 0xe9776b25 +0, 263, 263, 1, 259200, 0x76728709 +0, 265, 265, 1, 259200, 0x1960a0ef +0, 266, 266, 1, 259200, 0x3d3acac5 +0, 268, 268, 1, 259200, 0x1c6aeaa5 +0, 269, 269, 1, 259200, 0x8bc0148a +0, 271, 271, 1, 259200, 0xa2a72a74 +0, 272, 272, 1, 259200, 0x77db4658 +0, 274, 274, 1, 259200, 0x63705a44 +0, 275, 275, 1, 259200, 0x30db8c12 +0, 277, 277, 1, 259200, 0x32f5a3fa +0, 278, 278, 1, 259200, 0x0107d7c6 +0, 280, 280, 1, 259200, 0xe14707a5 +0, 281, 281, 1, 259200, 0xed7e3379 +0, 283, 283, 1, 259200, 0x55bc416b +0, 284, 284, 1, 259200, 0x1cf1614b +0, 286, 286, 1, 259200, 0x2d507b31 +0, 287, 287, 1, 259200, 0x3fbbaefd +0, 289, 289, 1, 259200, 0x8608d6d5 +0, 290, 290, 1, 259200, 0x169d00ba +0, 292, 292, 1, 259200, 0x7d0b209a +0, 293, 293, 1, 259200, 0xd5943c7e +0, 295, 295, 1, 259200, 0x94e25664 +0, 296, 296, 1, 259200, 0x97447e3c +0, 298, 298, 1, 259200, 0x68bc8436 +0, 299, 299, 1, 259200, 0xb7ee9426