From ada564caf222a26ca1e7a00c7b766e618f0de482 Mon Sep 17 00:00:00 2001 From: Bjorn Roche Date: Tue, 16 Jan 2018 16:12:43 -0500 Subject: [PATCH 01/18] fix for transparencies in animated gifs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Support for transparencies in animated gifs requires modifying both libavcodec/gif.c and libavformat/gif.c because both the graphics control extension (handled by libavformat/gif.c) and the raw frame data (handled by libavcodec/gif.c) must be changed. This is because transparencies in GIF can be used both to create a transparent image, and to provide optimization. How transparencies are interpreted in a given frame is controlled by the “disposal method”, which must be set appropriately in the graphics control extension. The “in place” disposal method is used when transparency indicates optimization, and the “background” disposal method is used when transparency is intended to be preserved. In order to support both disposal methods, libavcodec/gif.c must signal to libavformat/gif.c which disposal method is required for every frame. This is done with a new side data type: AV_PKT_DATA_GIF_FRAME_DISPOSAL. This requires a change to avcodec.h Unfortunately, the addition of a new side data type causes some of the FATE tests to fail, so the fate tests are updated here as well. --- libavcodec/avcodec.h | 6 + libavcodec/gif.c | 196 +++++++++++++++++- libavformat/gif.c | 16 +- tests/ref/fate/gifenc-bgr4_byte | 346 ++++++++++++++++---------------- tests/ref/fate/gifenc-bgr8 | 346 ++++++++++++++++---------------- tests/ref/fate/gifenc-gray | 346 ++++++++++++++++---------------- tests/ref/fate/gifenc-pal8 | 346 ++++++++++++++++---------------- tests/ref/fate/gifenc-rgb4_byte | 346 ++++++++++++++++---------------- tests/ref/fate/gifenc-rgb8 | 346 ++++++++++++++++---------------- 9 files changed, 1250 insertions(+), 1044 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 8fbbc798a2e65..2a4431187ce64 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1341,6 +1341,12 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_A53_CC, + /** + * The disposal method that should be used with the frame. If missing, + * the frame will not be disposed. This contains exactly one byte. + */ + AV_PKT_DATA_GIF_FRAME_DISPOSAL, + /** * The number of side data types. * This is not part of the public API/ABI in the sense that it may diff --git a/libavcodec/gif.c b/libavcodec/gif.c index d9c99d52cfdd9..6c839d99d2490 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -74,11 +74,35 @@ static int pick_palette_entry(const uint8_t *buf, int linesize, int w, int h) return -1; } -static int gif_image_write_image(AVCodecContext *avctx, - uint8_t **bytestream, uint8_t *end, - const uint32_t *palette, - const uint8_t *buf, const int linesize, - AVPacket *pkt) +// returns true if any of the pixels are transparent +static int is_image_translucent(AVCodecContext *avctx, + const uint32_t *palette, + const uint8_t *buf, const int linesize) +{ + GIFContext *s = avctx->priv_data; + int trans = s->transparent_index; + int p; + const int m = avctx->width * avctx->height ; + + if (trans < 0) { + return 0; + } + + for (p=0; ppriv_data; int len = 0, height = avctx->height, width = avctx->width, x, y; @@ -137,6 +161,11 @@ static int gif_image_write_image(AVCodecContext *avctx, width, height, x_start, y_start, avctx->width, avctx->height); } + uint8_t *frame_disposal = av_packet_new_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, 1); + if (!frame_disposal) + return AVERROR(ENOMEM); + *frame_disposal = GCE_DISPOSAL_INPLACE; + /* image block */ bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR); bytestream_put_le16(bytestream, x_start); @@ -214,6 +243,163 @@ static int gif_image_write_image(AVCodecContext *avctx, return 0; } +// wrtites an image that may contain transparency +// this should work for opaque images as well, but will be less optimized. +static int gif_image_write_translucent(AVCodecContext *avctx, + uint8_t **bytestream, uint8_t *end, + const uint32_t *palette, + const uint8_t *buf, const int linesize, + AVPacket *pkt) +{ + GIFContext *s = avctx->priv_data; + int len = 0, height = avctx->height, width = avctx->width, y; + int x_start = 0, y_start = 0, trans = s->transparent_index; + const uint8_t *ptr; + + /* Crop Image */ + if ((s->flags & GF_OFFSETTING) && trans >=0) { + const int w = avctx->width; + const int h = avctx->height; + int x_end = w - 1, + y_end = h - 1; + + // crop top + while (y_start < y_end) { + int i; + int is_trans = 1; + for (i=0; iwidth, avctx->height); + } + + + uint8_t *frame_disposal = av_packet_new_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, 1); + if (!frame_disposal) + return AVERROR(ENOMEM); + *frame_disposal = GCE_DISPOSAL_BACKGROUND; + + /* image block */ + bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR); + bytestream_put_le16(bytestream, x_start); + bytestream_put_le16(bytestream, y_start); + bytestream_put_le16(bytestream, width); + bytestream_put_le16(bytestream, height); + + if (!palette) { + bytestream_put_byte(bytestream, 0x00); /* flags */ + } else { + unsigned i; + bytestream_put_byte(bytestream, 1<<7 | 0x7); /* flags */ + for (i = 0; i < AVPALETTE_COUNT; i++) { + const uint32_t v = palette[i]; + bytestream_put_be24(bytestream, v); + } + } + + bytestream_put_byte(bytestream, 0x08); + + ff_lzw_encode_init(s->lzw, s->buf, s->buf_size, + 12, FF_LZW_GIF, put_bits); + + ptr = buf + y_start*linesize + x_start; + + for (y = 0; y < height; y++) { + len += ff_lzw_encode(s->lzw, ptr, width); + ptr += linesize; + } + + len += ff_lzw_encode_flush(s->lzw, flush_put_bits); + + ptr = s->buf; + while (len > 0) { + int size = FFMIN(255, len); + bytestream_put_byte(bytestream, size); + if (end - *bytestream < size) + return -1; + bytestream_put_buffer(bytestream, ptr, size); + ptr += size; + len -= size; + } + bytestream_put_byte(bytestream, 0x00); /* end of image block */ + + return 0; +} + +static int gif_image_write_image(AVCodecContext *avctx, + uint8_t **bytestream, uint8_t *end, + const uint32_t *palette, + const uint8_t *buf, const int linesize, + AVPacket *pkt) +{ + GIFContext *s = avctx->priv_data; + if (!s->last_frame) { + return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt); + } + + if (is_image_translucent(avctx, palette, buf, linesize)) { + return gif_image_write_translucent(avctx, bytestream, end, palette, buf, linesize, pkt); + } else { + return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt); + } +} + static av_cold int gif_encode_init(AVCodecContext *avctx) { GIFContext *s = avctx->priv_data; diff --git a/libavformat/gif.c b/libavformat/gif.c index 01d98a27b0535..b4a8b6aa94674 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -144,6 +144,8 @@ static int flush_packet(AVFormatContext *s, AVPacket *new) AVIOContext *pb = s->pb; const uint32_t *palette; AVPacket *pkt = gif->prev_pkt; + uint8_t *disposal; + uint8_t packed; if (!pkt) return 0; @@ -157,16 +159,28 @@ static int flush_packet(AVFormatContext *s, AVPacket *new) } bcid = get_palette_transparency_index(palette); + disposal = av_packet_get_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, &size); + if (disposal && size != 1) { + av_log(s, AV_LOG_ERROR, "Invalid gif frame disposal extradata\n"); + return AVERROR_INVALIDDATA; + } + if (new && new->pts != AV_NOPTS_VALUE) gif->duration = av_clip_uint16(new->pts - gif->prev_pkt->pts); else if (!new && gif->last_delay >= 0) gif->duration = gif->last_delay; /* graphic control extension block */ + if (disposal) { + packed = (0xff & (*disposal)<<2) | (bcid >= 0); + } else { + packed = 1<<2 | (bcid >= 0); + } + avio_w8(pb, 0x21); avio_w8(pb, 0xf9); avio_w8(pb, 0x04); /* block size */ - avio_w8(pb, 1<<2 | (bcid >= 0)); + avio_w8(pb, packed); avio_wl16(pb, gif->duration); avio_w8(pb, bcid < 0 ? DEFAULT_TRANSPARENCY_INDEX : bcid); avio_w8(pb, 0x00); diff --git a/tests/ref/fate/gifenc-bgr4_byte b/tests/ref/fate/gifenc-bgr4_byte index 3495a8bbed6f4..43d72e245a1ad 100644 --- a/tests/ref/fate/gifenc-bgr4_byte +++ b/tests/ref/fate/gifenc-bgr4_byte @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 508, 0xa1b80fc0 -0, 1, 1, 1, 213, 0x4f554bd7, S=1, 1024, 0xb6327c81 -0, 2, 2, 1, 131, 0x283b2988, S=1, 1024, 0xae3a7c81 -0, 3, 3, 1, 384, 0xc4fea72a, S=1, 1024, 0xb6327c81 -0, 4, 4, 1, 381, 0x050ba2b8, S=1, 1024, 0x9e4a7c81 -0, 5, 5, 1, 430, 0x00cfb2ae, S=1, 1024, 0x9e4a7c81 -0, 6, 6, 1, 518, 0xc8e5d827, S=1, 1024, 0x9e4a7c81 -0, 7, 7, 1, 535, 0x326ce62a, S=1, 1024, 0x9e4a7c81 -0, 8, 8, 1, 438, 0x34d6b7c0, S=1, 1024, 0xb6327c81 -0, 9, 9, 1, 923, 0x9fb1a37c, S=1, 1024, 0xb6327c81 -0, 10, 10, 1, 694, 0xf20449a5, S=1, 1024, 0xb6327c81 -0, 11, 11, 1, 1194, 0x67cd2ab5, S=1, 1024, 0xb6327c81 -0, 12, 12, 1, 1291, 0x1d23539d, S=1, 1024, 0xb6327c81 -0, 13, 13, 1, 1245, 0x065f32e6, S=1, 1024, 0xb6327c81 -0, 14, 14, 1, 1330, 0x83ec51a4, S=1, 1024, 0xb6327c81 -0, 15, 15, 1, 1276, 0x2acf38dc, S=1, 1024, 0xb6327c81 -0, 16, 16, 1, 1475, 0x4cd197ef, S=1, 1024, 0xb6327c81 -0, 17, 17, 1, 1784, 0xd1e84ae6, S=1, 1024, 0xde0a7c81 -0, 18, 18, 1, 1675, 0x092dfa86, S=1, 1024, 0xde0a7c81 -0, 19, 19, 1, 1509, 0x639aaa00, S=1, 1024, 0xde0a7c81 -0, 20, 20, 1, 1705, 0xfd3719d5, S=1, 1024, 0xde0a7c81 -0, 21, 21, 1, 1745, 0x8a761db4, S=1, 1024, 0xde0a7c81 -0, 22, 22, 1, 1642, 0x18830245, S=1, 1024, 0xde0a7c81 -0, 23, 23, 1, 1718, 0x3c8d1ebe, S=1, 1024, 0xde0a7c81 -0, 24, 24, 1, 1900, 0x2ea879d1, S=1, 1024, 0xde0a7c81 -0, 25, 25, 1, 1807, 0x02b35230, S=1, 1024, 0xde0a7c81 -0, 26, 26, 1, 1915, 0x22d48344, S=1, 1024, 0xde0a7c81 -0, 27, 27, 1, 2100, 0x55fcd063, S=1, 1024, 0xde0a7c81 -0, 28, 28, 1, 2700, 0x7cc5f08b, S=1, 1024, 0xde0a7c81 -0, 29, 29, 1, 2673, 0xb997a80d, S=1, 1024, 0xde0a7c81 -0, 30, 30, 1, 2895, 0xab69484d, S=1, 1024, 0xde0a7c81 -0, 31, 31, 1, 3257, 0xf753cf24, S=1, 1024, 0xde0a7c81 -0, 32, 32, 1, 3179, 0x34f2c13b, S=1, 1024, 0xde0a7c81 -0, 33, 33, 1, 3296, 0x7c06e72f, S=1, 1024, 0xde0a7c81 -0, 34, 34, 1, 3600, 0x4ca67634, S=1, 1024, 0xde0a7c81 -0, 35, 35, 1, 3699, 0xabe89fe3, S=1, 1024, 0xde0a7c81 -0, 36, 36, 1, 3814, 0x1869d3f4, S=1, 1024, 0xde0a7c81 -0, 37, 37, 1, 3627, 0x19bd7da7, S=1, 1024, 0xde0a7c81 -0, 38, 38, 1, 2950, 0x048a6055, S=1, 1024, 0xde0a7c81 -0, 39, 39, 1, 3086, 0x64ec8fc2, S=1, 1024, 0xde0a7c81 -0, 40, 40, 1, 3094, 0x1a388553, S=1, 1024, 0xde0a7c81 -0, 41, 41, 1, 3456, 0x01432c82, S=1, 1024, 0xde0a7c81 -0, 42, 42, 1, 4108, 0xf9505c66, S=1, 1024, 0xde0a7c81 -0, 43, 43, 1, 4217, 0x7f985ba4, S=1, 1024, 0xde0a7c81 -0, 44, 44, 1, 3613, 0xd0684d83, S=1, 1024, 0xde0a7c81 -0, 45, 45, 1, 3910, 0x0070e692, S=1, 1024, 0xde0a7c81 -0, 46, 46, 1, 4461, 0x5cc9e33d, S=1, 1024, 0xde0a7c81 -0, 47, 47, 1, 4593, 0x33a32dd1, S=1, 1024, 0xde0a7c81 -0, 48, 48, 1, 4822, 0x59549883, S=1, 1024, 0xde0a7c81 -0, 49, 49, 1, 5398, 0xb7bac31e, S=1, 1024, 0xde0a7c81 -0, 50, 50, 1, 5266, 0x21c695aa, S=1, 1024, 0xde0a7c81 -0, 51, 51, 1, 5416, 0xf305e3ed, S=1, 1024, 0xde0a7c81 -0, 52, 52, 1, 5519, 0x857d071f, S=1, 1024, 0xde0a7c81 -0, 53, 53, 1, 5701, 0x8f885c9c, S=1, 1024, 0xde0a7c81 -0, 54, 54, 1, 6160, 0x48523e83, S=1, 1024, 0xde0a7c81 -0, 55, 55, 1, 6233, 0x8fd2511e, S=1, 1024, 0xde0a7c81 -0, 56, 56, 1, 5911, 0x92d4c516, S=1, 1024, 0xde0a7c81 -0, 57, 57, 1, 5997, 0xbd7cfa15, S=1, 1024, 0xde0a7c81 -0, 58, 58, 1, 5946, 0x8f5fedff, S=1, 1024, 0xde0a7c81 -0, 59, 59, 1, 6468, 0x45c0cb8c, S=1, 1024, 0xde0a7c81 -0, 60, 60, 1, 6737, 0x4e1e39ac, S=1, 1024, 0xde0a7c81 -0, 61, 61, 1, 6275, 0x1d5e8f4c, S=1, 1024, 0xde0a7c81 -0, 62, 62, 1, 6641, 0x844b3aad, S=1, 1024, 0xde0a7c81 -0, 63, 63, 1, 6378, 0x52568640, S=1, 1024, 0xde0a7c81 -0, 64, 64, 1, 6257, 0xfabc585f, S=1, 1024, 0xde0a7c81 -0, 65, 65, 1, 6908, 0xf261701c, S=1, 1024, 0xde0a7c81 -0, 66, 66, 1, 7230, 0xb4f524ce, S=1, 1024, 0xde0a7c81 -0, 67, 67, 1, 7556, 0x89c1a712, S=1, 1024, 0xde0a7c81 -0, 68, 68, 1, 7413, 0x553970a4, S=1, 1024, 0xde0a7c81 -0, 69, 69, 1, 7476, 0x24d2a761, S=1, 1024, 0xde0a7c81 -0, 70, 70, 1, 7596, 0xf072e431, S=1, 1024, 0xde0a7c81 -0, 71, 71, 1, 7756, 0x131205c0, S=1, 1024, 0xde0a7c81 -0, 72, 72, 1, 8015, 0xf4536a7f, S=1, 1024, 0xde0a7c81 -0, 73, 73, 1, 8128, 0xba80be2b, S=1, 1024, 0xde0a7c81 -0, 74, 74, 1, 8101, 0x44ceb3a2, S=1, 1024, 0xde0a7c81 -0, 75, 75, 1, 7863, 0x55043dfd, S=1, 1024, 0xde0a7c81 -0, 76, 76, 1, 7960, 0x38399182, S=1, 1024, 0xde0a7c81 -0, 77, 77, 1, 8238, 0x1d52ecf3, S=1, 1024, 0xde0a7c81 -0, 78, 78, 1, 8321, 0xd8d24a5c, S=1, 1024, 0xde0a7c81 -0, 79, 79, 1, 8562, 0x4a0cc02b, S=1, 1024, 0xde0a7c81 -0, 80, 80, 1, 8746, 0x2db40da7, S=1, 1024, 0xde0a7c81 -0, 81, 81, 1, 8578, 0x46f9a4c1, S=1, 1024, 0xde0a7c81 -0, 82, 82, 1, 8878, 0xf58d5a19, S=1, 1024, 0xde0a7c81 -0, 83, 83, 1, 9077, 0x78de57f6, S=1, 1024, 0xde0a7c81 -0, 84, 84, 1, 9310, 0x8c10f77a, S=1, 1024, 0xde0a7c81 -0, 85, 85, 1, 9394, 0x741f431e, S=1, 1024, 0xde0a7c81 -0, 86, 86, 1, 9161, 0x6f499587, S=1, 1024, 0xde0a7c81 -0, 87, 87, 1, 9462, 0x628936c3, S=1, 1024, 0xde0a7c81 -0, 88, 88, 1, 9650, 0x4cb4936e, S=1, 1024, 0xde0a7c81 -0, 89, 89, 1, 9701, 0x5e069c40, S=1, 1024, 0xde0a7c81 -0, 90, 90, 1, 9523, 0x66a13c83, S=1, 1024, 0xde0a7c81 -0, 91, 91, 1, 9891, 0x43ea0e93, S=1, 1024, 0xde0a7c81 -0, 92, 92, 1, 10005, 0x96a849e7, S=1, 1024, 0xde0a7c81 -0, 93, 93, 1, 10038, 0x68032d25, S=1, 1024, 0xde0a7c81 -0, 94, 94, 1, 10086, 0xef59458d, S=1, 1024, 0xde0a7c81 -0, 95, 95, 1, 10438, 0x3466fed0, S=1, 1024, 0xde0a7c81 -0, 96, 96, 1, 10583, 0x8bdd5477, S=1, 1024, 0xde0a7c81 -0, 97, 97, 1, 10581, 0x69d27fee, S=1, 1024, 0xde0a7c81 -0, 98, 98, 1, 10807, 0xde62d6e3, S=1, 1024, 0xde0a7c81 -0, 99, 99, 1, 11111, 0x34eb4c13, S=1, 1024, 0xde0a7c81 -0, 100, 100, 1, 11194, 0x584f6b73, S=1, 1024, 0xde0a7c81 -0, 101, 101, 1, 11240, 0xc90ba13f, S=1, 1024, 0xde0a7c81 -0, 102, 102, 1, 11483, 0x59c4f3c5, S=1, 1024, 0xde0a7c81 -0, 103, 103, 1, 11680, 0xc62c5bc1, S=1, 1024, 0xde0a7c81 -0, 104, 104, 1, 11785, 0xc9bab793, S=1, 1024, 0xde0a7c81 -0, 105, 105, 1, 11436, 0xc9c40809, S=1, 1024, 0xde0a7c81 -0, 106, 106, 1, 11928, 0x4b77c9a7, S=1, 1024, 0xde0a7c81 -0, 107, 107, 1, 11932, 0x722abcbe, S=1, 1024, 0xde0a7c81 -0, 108, 108, 1, 12281, 0x0d136f53, S=1, 1024, 0xde0a7c81 -0, 109, 109, 1, 12334, 0x04a47f78, S=1, 1024, 0xde0a7c81 -0, 110, 110, 1, 12452, 0xa02db188, S=1, 1024, 0xde0a7c81 -0, 111, 111, 1, 12695, 0x1a813b2e, S=1, 1024, 0xde0a7c81 -0, 112, 112, 1, 12668, 0x81b24f79, S=1, 1024, 0xde0a7c81 -0, 113, 113, 1, 12957, 0x4da59f8c, S=1, 1024, 0xde0a7c81 -0, 114, 114, 1, 13054, 0x7abedf5a, S=1, 1024, 0xde0a7c81 -0, 115, 115, 1, 13147, 0x138f2bbd, S=1, 1024, 0xde0a7c81 -0, 116, 116, 1, 13171, 0x43c1195f, S=1, 1024, 0xde0a7c81 -0, 117, 117, 1, 13198, 0x2c8d58d4, S=1, 1024, 0xde0a7c81 -0, 118, 118, 1, 13211, 0x12c36193, S=1, 1024, 0xde0a7c81 -0, 119, 119, 1, 13210, 0xfe496107, S=1, 1024, 0xde0a7c81 -0, 120, 120, 1, 13467, 0x4d8ea128, S=1, 1024, 0xde0a7c81 -0, 121, 121, 1, 13665, 0x94caddde, S=1, 1024, 0xde0a7c81 -0, 122, 122, 1, 13692, 0xe38febd9, S=1, 1024, 0xde0a7c81 -0, 123, 123, 1, 13821, 0xee592e62, S=1, 1024, 0xde0a7c81 -0, 124, 124, 1, 13946, 0xceb09235, S=1, 1024, 0xde0a7c81 -0, 125, 125, 1, 14063, 0x7361d2f5, S=1, 1024, 0xde0a7c81 -0, 126, 126, 1, 14124, 0x226bcac1, S=1, 1024, 0xde0a7c81 -0, 127, 127, 1, 14331, 0x0649512b, S=1, 1024, 0xde0a7c81 -0, 128, 128, 1, 14469, 0x0d7da45b, S=1, 1024, 0xde0a7c81 -0, 129, 129, 1, 14536, 0x73cca242, S=1, 1024, 0xde0a7c81 -0, 130, 130, 1, 14608, 0x1f3dd14e, S=1, 1024, 0xde0a7c81 -0, 131, 131, 1, 14898, 0xd13d258e, S=1, 1024, 0xde0a7c81 -0, 132, 132, 1, 14978, 0xfa049fea, S=1, 1024, 0xde0a7c81 -0, 133, 133, 1, 15142, 0x1dfad60c, S=1, 1024, 0xde0a7c81 -0, 134, 134, 1, 15129, 0x5962bae7, S=1, 1024, 0xde0a7c81 -0, 135, 135, 1, 15243, 0x2c2c113b, S=1, 1024, 0xde0a7c81 -0, 136, 136, 1, 15337, 0x3cab623b, S=1, 1024, 0xde0a7c81 -0, 137, 137, 1, 15638, 0xbff3a100, S=1, 1024, 0xde0a7c81 -0, 138, 138, 1, 15912, 0x13bf1fb2, S=1, 1024, 0xde0a7c81 -0, 139, 139, 1, 16041, 0x01134246, S=1, 1024, 0xde0a7c81 -0, 140, 140, 1, 16228, 0xe2f80035, S=1, 1024, 0xde0a7c81 -0, 141, 141, 1, 16262, 0xc8d3ea51, S=1, 1024, 0xde0a7c81 -0, 142, 142, 1, 16371, 0xe7da07f2, S=1, 1024, 0xde0a7c81 -0, 143, 143, 1, 16661, 0x10ada592, S=1, 1024, 0xde0a7c81 -0, 144, 144, 1, 16917, 0xbfb717e5, S=1, 1024, 0xde0a7c81 -0, 145, 145, 1, 17149, 0x4074ca41, S=1, 1024, 0xde0a7c81 -0, 146, 146, 1, 17172, 0xf749b49f, S=1, 1024, 0xde0a7c81 -0, 147, 147, 1, 17315, 0x2abea8a0, S=1, 1024, 0xde0a7c81 -0, 148, 148, 1, 17397, 0x14f71122, S=1, 1024, 0xde0a7c81 -0, 149, 149, 1, 17431, 0xce49f2d3, S=1, 1024, 0xde0a7c81 -0, 150, 150, 1, 17576, 0x7c6552ad, S=1, 1024, 0xde0a7c81 -0, 151, 151, 1, 17764, 0x1d198d60, S=1, 1024, 0xde0a7c81 -0, 152, 152, 1, 17826, 0xe1727f57, S=1, 1024, 0xde0a7c81 -0, 153, 153, 1, 17918, 0xb78d9b9f, S=1, 1024, 0xde0a7c81 -0, 154, 154, 1, 17823, 0xc9fabf19, S=1, 1024, 0xde0a7c81 -0, 155, 155, 1, 18142, 0xeb5b21a9, S=1, 1024, 0xde0a7c81 -0, 156, 156, 1, 18257, 0x7b38822c, S=1, 1024, 0xde0a7c81 -0, 157, 157, 1, 18337, 0xd395c279, S=1, 1024, 0xde0a7c81 -0, 158, 158, 1, 18293, 0x6c3b3766, S=1, 1024, 0xde0a7c81 -0, 159, 159, 1, 18418, 0x2abcbcf8, S=1, 1024, 0xde0a7c81 -0, 160, 160, 1, 18607, 0x79424730, S=1, 1024, 0xde0a7c81 -0, 161, 161, 1, 18916, 0x8707bbc6, S=1, 1024, 0xde0a7c81 -0, 162, 162, 1, 19073, 0xd82c03f6, S=1, 1024, 0xde0a7c81 -0, 163, 163, 1, 19168, 0xb7d6fe27, S=1, 1024, 0xde0a7c81 -0, 164, 164, 1, 19210, 0x79f301eb, S=1, 1024, 0xde0a7c81 -0, 165, 165, 1, 19398, 0x0a5663c6, S=1, 1024, 0xde0a7c81 -0, 166, 166, 1, 19480, 0x4fe09e5b, S=1, 1024, 0xde0a7c81 -0, 167, 167, 1, 19659, 0xab971088, S=1, 1024, 0xde0a7c81 -0, 168, 168, 1, 19672, 0x2e331553, S=1, 1024, 0xde0a7c81 -0, 169, 169, 1, 19936, 0x2eea628a, S=1, 1024, 0xde0a7c81 -0, 170, 170, 1, 19975, 0xd6bb9ab2, S=1, 1024, 0xde0a7c81 -0, 171, 171, 1, 20021, 0xf7e98dc5, S=1, 1024, 0xde0a7c81 -0, 172, 172, 1, 20060, 0x20017807, S=1, 1024, 0xde0a7c81 +0, 0, 0, 1, 508, 0xa1b80fc0, S=1, 1, 0x00010001 +0, 1, 1, 1, 213, 0x4f554bd7, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 2, 2, 1, 131, 0x283b2988, S=2, 1, 0x00010001, 1024, 0xae3a7c81 +0, 3, 3, 1, 384, 0xc4fea72a, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 4, 4, 1, 381, 0x050ba2b8, S=2, 1, 0x00010001, 1024, 0x9e4a7c81 +0, 5, 5, 1, 430, 0x00cfb2ae, S=2, 1, 0x00010001, 1024, 0x9e4a7c81 +0, 6, 6, 1, 518, 0xc8e5d827, S=2, 1, 0x00010001, 1024, 0x9e4a7c81 +0, 7, 7, 1, 535, 0x326ce62a, S=2, 1, 0x00010001, 1024, 0x9e4a7c81 +0, 8, 8, 1, 438, 0x34d6b7c0, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 9, 9, 1, 923, 0x9fb1a37c, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 10, 10, 1, 694, 0xf20449a5, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 11, 11, 1, 1194, 0x67cd2ab5, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 12, 12, 1, 1291, 0x1d23539d, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 13, 13, 1, 1245, 0x065f32e6, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 14, 14, 1, 1330, 0x83ec51a4, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 15, 15, 1, 1276, 0x2acf38dc, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 16, 16, 1, 1475, 0x4cd197ef, S=2, 1, 0x00010001, 1024, 0xb6327c81 +0, 17, 17, 1, 1784, 0xd1e84ae6, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 18, 18, 1, 1675, 0x092dfa86, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 19, 19, 1, 1509, 0x639aaa00, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 20, 20, 1, 1705, 0xfd3719d5, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 21, 21, 1, 1745, 0x8a761db4, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 22, 22, 1, 1642, 0x18830245, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 23, 23, 1, 1718, 0x3c8d1ebe, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 24, 24, 1, 1900, 0x2ea879d1, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 25, 25, 1, 1807, 0x02b35230, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 26, 26, 1, 1915, 0x22d48344, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 27, 27, 1, 2100, 0x55fcd063, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 28, 28, 1, 2700, 0x7cc5f08b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 29, 29, 1, 2673, 0xb997a80d, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 30, 30, 1, 2895, 0xab69484d, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 31, 31, 1, 3257, 0xf753cf24, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 32, 32, 1, 3179, 0x34f2c13b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 33, 33, 1, 3296, 0x7c06e72f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 34, 34, 1, 3600, 0x4ca67634, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 35, 35, 1, 3699, 0xabe89fe3, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 36, 36, 1, 3814, 0x1869d3f4, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 37, 37, 1, 3627, 0x19bd7da7, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 38, 38, 1, 2950, 0x048a6055, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 39, 39, 1, 3086, 0x64ec8fc2, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 40, 40, 1, 3094, 0x1a388553, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 41, 41, 1, 3456, 0x01432c82, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 42, 42, 1, 4108, 0xf9505c66, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 43, 43, 1, 4217, 0x7f985ba4, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 44, 44, 1, 3613, 0xd0684d83, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 45, 45, 1, 3910, 0x0070e692, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 46, 46, 1, 4461, 0x5cc9e33d, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 47, 47, 1, 4593, 0x33a32dd1, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 48, 48, 1, 4822, 0x59549883, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 49, 49, 1, 5398, 0xb7bac31e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 50, 50, 1, 5266, 0x21c695aa, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 51, 51, 1, 5416, 0xf305e3ed, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 52, 52, 1, 5519, 0x857d071f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 53, 53, 1, 5701, 0x8f885c9c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 54, 54, 1, 6160, 0x48523e83, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 55, 55, 1, 6233, 0x8fd2511e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 56, 56, 1, 5911, 0x92d4c516, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 57, 57, 1, 5997, 0xbd7cfa15, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 58, 58, 1, 5946, 0x8f5fedff, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 59, 59, 1, 6468, 0x45c0cb8c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 60, 60, 1, 6737, 0x4e1e39ac, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 61, 61, 1, 6275, 0x1d5e8f4c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 62, 62, 1, 6641, 0x844b3aad, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 63, 63, 1, 6378, 0x52568640, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 64, 64, 1, 6257, 0xfabc585f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 65, 65, 1, 6908, 0xf261701c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 66, 66, 1, 7230, 0xb4f524ce, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 67, 67, 1, 7556, 0x89c1a712, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 68, 68, 1, 7413, 0x553970a4, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 69, 69, 1, 7476, 0x24d2a761, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 70, 70, 1, 7596, 0xf072e431, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 71, 71, 1, 7756, 0x131205c0, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 72, 72, 1, 8015, 0xf4536a7f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 73, 73, 1, 8128, 0xba80be2b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 74, 74, 1, 8101, 0x44ceb3a2, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 75, 75, 1, 7863, 0x55043dfd, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 76, 76, 1, 7960, 0x38399182, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 77, 77, 1, 8238, 0x1d52ecf3, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 78, 78, 1, 8321, 0xd8d24a5c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 79, 79, 1, 8562, 0x4a0cc02b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 80, 80, 1, 8746, 0x2db40da7, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 81, 81, 1, 8578, 0x46f9a4c1, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 82, 82, 1, 8878, 0xf58d5a19, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 83, 83, 1, 9077, 0x78de57f6, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 84, 84, 1, 9310, 0x8c10f77a, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 85, 85, 1, 9394, 0x741f431e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 86, 86, 1, 9161, 0x6f499587, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 87, 87, 1, 9462, 0x628936c3, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 88, 88, 1, 9650, 0x4cb4936e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 89, 89, 1, 9701, 0x5e069c40, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 90, 90, 1, 9523, 0x66a13c83, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 91, 91, 1, 9891, 0x43ea0e93, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 92, 92, 1, 10005, 0x96a849e7, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 93, 93, 1, 10038, 0x68032d25, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 94, 94, 1, 10086, 0xef59458d, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 95, 95, 1, 10438, 0x3466fed0, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 96, 96, 1, 10583, 0x8bdd5477, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 97, 97, 1, 10581, 0x69d27fee, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 98, 98, 1, 10807, 0xde62d6e3, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 99, 99, 1, 11111, 0x34eb4c13, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 100, 100, 1, 11194, 0x584f6b73, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 101, 101, 1, 11240, 0xc90ba13f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 102, 102, 1, 11483, 0x59c4f3c5, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 103, 103, 1, 11680, 0xc62c5bc1, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 104, 104, 1, 11785, 0xc9bab793, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 105, 105, 1, 11436, 0xc9c40809, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 106, 106, 1, 11928, 0x4b77c9a7, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 107, 107, 1, 11932, 0x722abcbe, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 108, 108, 1, 12281, 0x0d136f53, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 109, 109, 1, 12334, 0x04a47f78, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 110, 110, 1, 12452, 0xa02db188, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 111, 111, 1, 12695, 0x1a813b2e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 112, 112, 1, 12668, 0x81b24f79, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 113, 113, 1, 12957, 0x4da59f8c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 114, 114, 1, 13054, 0x7abedf5a, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 115, 115, 1, 13147, 0x138f2bbd, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 116, 116, 1, 13171, 0x43c1195f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 117, 117, 1, 13198, 0x2c8d58d4, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 118, 118, 1, 13211, 0x12c36193, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 119, 119, 1, 13210, 0xfe496107, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 120, 120, 1, 13467, 0x4d8ea128, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 121, 121, 1, 13665, 0x94caddde, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 122, 122, 1, 13692, 0xe38febd9, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 123, 123, 1, 13821, 0xee592e62, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 124, 124, 1, 13946, 0xceb09235, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 125, 125, 1, 14063, 0x7361d2f5, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 126, 126, 1, 14124, 0x226bcac1, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 127, 127, 1, 14331, 0x0649512b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 128, 128, 1, 14469, 0x0d7da45b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 129, 129, 1, 14536, 0x73cca242, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 130, 130, 1, 14608, 0x1f3dd14e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 131, 131, 1, 14898, 0xd13d258e, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 132, 132, 1, 14978, 0xfa049fea, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 133, 133, 1, 15142, 0x1dfad60c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 134, 134, 1, 15129, 0x5962bae7, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 135, 135, 1, 15243, 0x2c2c113b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 136, 136, 1, 15337, 0x3cab623b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 137, 137, 1, 15638, 0xbff3a100, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 138, 138, 1, 15912, 0x13bf1fb2, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 139, 139, 1, 16041, 0x01134246, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 140, 140, 1, 16228, 0xe2f80035, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 141, 141, 1, 16262, 0xc8d3ea51, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 142, 142, 1, 16371, 0xe7da07f2, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 143, 143, 1, 16661, 0x10ada592, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 144, 144, 1, 16917, 0xbfb717e5, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 145, 145, 1, 17149, 0x4074ca41, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 146, 146, 1, 17172, 0xf749b49f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 147, 147, 1, 17315, 0x2abea8a0, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 148, 148, 1, 17397, 0x14f71122, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 149, 149, 1, 17431, 0xce49f2d3, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 150, 150, 1, 17576, 0x7c6552ad, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 151, 151, 1, 17764, 0x1d198d60, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 152, 152, 1, 17826, 0xe1727f57, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 153, 153, 1, 17918, 0xb78d9b9f, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 154, 154, 1, 17823, 0xc9fabf19, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 155, 155, 1, 18142, 0xeb5b21a9, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 156, 156, 1, 18257, 0x7b38822c, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 157, 157, 1, 18337, 0xd395c279, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 158, 158, 1, 18293, 0x6c3b3766, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 159, 159, 1, 18418, 0x2abcbcf8, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 160, 160, 1, 18607, 0x79424730, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 161, 161, 1, 18916, 0x8707bbc6, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 162, 162, 1, 19073, 0xd82c03f6, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 163, 163, 1, 19168, 0xb7d6fe27, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 164, 164, 1, 19210, 0x79f301eb, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 165, 165, 1, 19398, 0x0a5663c6, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 166, 166, 1, 19480, 0x4fe09e5b, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 167, 167, 1, 19659, 0xab971088, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 168, 168, 1, 19672, 0x2e331553, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 169, 169, 1, 19936, 0x2eea628a, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 170, 170, 1, 19975, 0xd6bb9ab2, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 171, 171, 1, 20021, 0xf7e98dc5, S=2, 1, 0x00010001, 1024, 0xde0a7c81 +0, 172, 172, 1, 20060, 0x20017807, S=2, 1, 0x00010001, 1024, 0xde0a7c81 diff --git a/tests/ref/fate/gifenc-bgr8 b/tests/ref/fate/gifenc-bgr8 index 0a4e5d48cd374..2aede83c73126 100644 --- a/tests/ref/fate/gifenc-bgr8 +++ b/tests/ref/fate/gifenc-bgr8 @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 552, 0x271a2dd3 -0, 1, 1, 1, 297, 0x90168a95, S=1, 1024, 0xf351799f -0, 2, 2, 1, 438, 0x91efce1b, S=1, 1024, 0xf351799f -0, 3, 3, 1, 450, 0x7c2dcfad, S=1, 1024, 0xf351799f -0, 4, 4, 1, 547, 0xc131fd3b, S=1, 1024, 0xf351799f -0, 5, 5, 1, 614, 0x68182006, S=1, 1024, 0xf351799f -0, 6, 6, 1, 642, 0x78bb1f5f, S=1, 1024, 0xf351799f -0, 7, 7, 1, 660, 0x35c033a2, S=1, 1024, 0xf351799f -0, 8, 8, 1, 821, 0xaf30790b, S=1, 1024, 0xf351799f -0, 9, 9, 1, 1157, 0x741c2da1, S=1, 1024, 0xf351799f -0, 10, 10, 1, 179, 0x3a27517c, S=1, 1024, 0xf351799f -0, 11, 11, 1, 1333, 0x5ee76f3c, S=1, 1024, 0xf351799f -0, 12, 12, 1, 1638, 0x5f640e86, S=1, 1024, 0xf351799f -0, 13, 13, 1, 1531, 0xccb8e437, S=1, 1024, 0xf351799f -0, 14, 14, 1, 1720, 0xc95d45ec, S=1, 1024, 0xf351799f -0, 15, 15, 1, 1910, 0x56cc831e, S=1, 1024, 0xf351799f -0, 16, 16, 1, 2124, 0x9cc8e130, S=1, 1024, 0xf351799f -0, 17, 17, 1, 2248, 0x05a325b1, S=1, 1024, 0xf351799f -0, 18, 18, 1, 2311, 0xdc633703, S=1, 1024, 0xf351799f -0, 19, 19, 1, 2408, 0x91c26f3e, S=1, 1024, 0xf351799f -0, 20, 20, 1, 2601, 0x8cf3c157, S=1, 1024, 0xf351799f -0, 21, 21, 1, 2687, 0x8f6400e6, S=1, 1024, 0xf351799f -0, 22, 22, 1, 2784, 0xaa880e55, S=1, 1024, 0xf351799f -0, 23, 23, 1, 2884, 0x46f546f6, S=1, 1024, 0xf351799f -0, 24, 24, 1, 2982, 0x807c7ad5, S=1, 1024, 0xf351799f -0, 25, 25, 1, 3101, 0xbcc89bec, S=1, 1024, 0xf351799f -0, 26, 26, 1, 3253, 0xd032f3fa, S=1, 1024, 0xf351799f -0, 27, 27, 1, 3329, 0xe4d42430, S=1, 1024, 0xf351799f -0, 28, 28, 1, 3572, 0xf8058aa0, S=1, 1024, 0xf351799f -0, 29, 29, 1, 3807, 0x3d2af9f3, S=1, 1024, 0xf351799f -0, 30, 30, 1, 2750, 0x814d1c33, S=1, 1024, 0xf351799f -0, 31, 31, 1, 4031, 0x3b077006, S=1, 1024, 0xf351799f -0, 32, 32, 1, 3025, 0x86729c1c, S=1, 1024, 0xf351799f -0, 33, 33, 1, 4295, 0xf71b0b38, S=1, 1024, 0xf351799f -0, 34, 34, 1, 2044, 0x5adcb93b, S=1, 1024, 0xf351799f -0, 35, 35, 1, 3212, 0xcf79eeed, S=1, 1024, 0xf351799f -0, 36, 36, 1, 2292, 0xb4386334, S=1, 1024, 0xf351799f -0, 37, 37, 1, 3633, 0x0010992f, S=1, 1024, 0xf351799f -0, 38, 38, 1, 3552, 0x23697490, S=1, 1024, 0xf351799f -0, 39, 39, 1, 3690, 0x62afdbb8, S=1, 1024, 0xf351799f -0, 40, 40, 1, 1559, 0x5baef54a, S=1, 1024, 0xf351799f -0, 41, 41, 1, 954, 0xca75ca79, S=1, 1024, 0xf351799f -0, 42, 42, 1, 273, 0x3687799b, S=1, 1024, 0xf351799f -0, 43, 43, 1, 930, 0x29f3b0c4, S=1, 1024, 0xf351799f -0, 44, 44, 1, 271, 0x305e8094, S=1, 1024, 0xf351799f -0, 45, 45, 1, 196, 0xf5ab51ee, S=1, 1024, 0xf351799f -0, 46, 46, 1, 4299, 0x67ec0d55, S=1, 1024, 0xf351799f -0, 47, 47, 1, 4895, 0xb394406c, S=1, 1024, 0xf351799f -0, 48, 48, 1, 4928, 0x233919d7, S=1, 1024, 0xf351799f -0, 49, 49, 1, 4941, 0x58a357da, S=1, 1024, 0xf351799f -0, 50, 50, 1, 4154, 0x21f2ac33, S=1, 1024, 0xf351799f -0, 51, 51, 1, 4678, 0xab3cc050, S=1, 1024, 0xf351799f -0, 52, 52, 1, 4741, 0x1974b581, S=1, 1024, 0xf351799f -0, 53, 53, 1, 4982, 0x891456d5, S=1, 1024, 0xf351799f -0, 54, 54, 1, 5179, 0x860fc6a1, S=1, 1024, 0xf351799f -0, 55, 55, 1, 5046, 0xce9183d3, S=1, 1024, 0xf351799f -0, 56, 56, 1, 5140, 0xa6d7b9af, S=1, 1024, 0xf351799f -0, 57, 57, 1, 4301, 0x03b6ef3f, S=1, 1024, 0xf351799f -0, 58, 58, 1, 5079, 0xa8d59e01, S=1, 1024, 0xf351799f -0, 59, 59, 1, 5284, 0xea34e3b3, S=1, 1024, 0xf351799f -0, 60, 60, 1, 5426, 0x556a15cd, S=1, 1024, 0xf351799f -0, 61, 61, 1, 4645, 0x061e8936, S=1, 1024, 0xf351799f -0, 62, 62, 1, 5263, 0x7536cf7d, S=1, 1024, 0xf351799f -0, 63, 63, 1, 5221, 0x9fbac3ca, S=1, 1024, 0xf351799f -0, 64, 64, 1, 5217, 0x02269bd2, S=1, 1024, 0xf351799f -0, 65, 65, 1, 5395, 0x120fff66, S=1, 1024, 0xf351799f -0, 66, 66, 1, 5220, 0x77cedcc5, S=1, 1024, 0xf351799f -0, 67, 67, 1, 5704, 0xba42dd96, S=1, 1024, 0xf351799f -0, 68, 68, 1, 5636, 0xcb91a25b, S=1, 1024, 0xf351799f -0, 69, 69, 1, 5818, 0x8dc0df92, S=1, 1024, 0xf351799f -0, 70, 70, 1, 5763, 0x51d5d5f0, S=1, 1024, 0xf351799f -0, 71, 71, 1, 6116, 0x09558b48, S=1, 1024, 0xf351799f -0, 72, 72, 1, 6069, 0x41926817, S=1, 1024, 0xf351799f -0, 73, 73, 1, 5796, 0x7fbeda44, S=1, 1024, 0xf351799f -0, 74, 74, 1, 5999, 0xe07d3770, S=1, 1024, 0xf351799f -0, 75, 75, 1, 6220, 0x6607b06f, S=1, 1024, 0xf351799f -0, 76, 76, 1, 6374, 0x7628e533, S=1, 1024, 0xf351799f -0, 77, 77, 1, 6465, 0xfe956b15, S=1, 1024, 0xf351799f -0, 78, 78, 1, 7019, 0x6c9a1aef, S=1, 1024, 0xf351799f -0, 79, 79, 1, 7255, 0x5fa5c1bf, S=1, 1024, 0xf351799f -0, 80, 80, 1, 8197, 0xf11d6ef2, S=1, 1024, 0xf351799f -0, 81, 81, 1, 8358, 0x027279e8, S=1, 1024, 0xf351799f -0, 82, 82, 1, 7708, 0x607f8e8b, S=1, 1024, 0xf351799f -0, 83, 83, 1, 7412, 0x6bb2105f, S=1, 1024, 0xf351799f -0, 84, 84, 1, 7541, 0xfdc02154, S=1, 1024, 0xf351799f -0, 85, 85, 1, 7948, 0x916ecd8b, S=1, 1024, 0xf351799f -0, 86, 86, 1, 8408, 0x1f97d414, S=1, 1024, 0xf351799f -0, 87, 87, 1, 8056, 0x9cbf159c, S=1, 1024, 0xf351799f -0, 88, 88, 1, 7401, 0x2625addb, S=1, 1024, 0xf351799f -0, 89, 89, 1, 7494, 0x2877eacb, S=1, 1024, 0xf351799f -0, 90, 90, 1, 7806, 0xe32574a3, S=1, 1024, 0xf351799f -0, 91, 91, 1, 7768, 0x25ed7ee7, S=1, 1024, 0xf351799f -0, 92, 92, 1, 7749, 0x6d8e978e, S=1, 1024, 0xf351799f -0, 93, 93, 1, 8047, 0xec4b150c, S=1, 1024, 0xf351799f -0, 94, 94, 1, 7618, 0x88cf30d5, S=1, 1024, 0xf351799f -0, 95, 95, 1, 7979, 0x0eb1cf2a, S=1, 1024, 0xf351799f -0, 96, 96, 1, 12062, 0xb49d9125, S=1, 1024, 0xf351799f -0, 97, 97, 1, 12317, 0x2d8fd6e9, S=1, 1024, 0xf351799f -0, 98, 98, 1, 12217, 0x9b3be549, S=1, 1024, 0xf351799f -0, 99, 99, 1, 11227, 0x067e9118, S=1, 1024, 0xf351799f -0, 100, 100, 1, 11108, 0x5e5b0afd, S=1, 1024, 0xf351799f -0, 101, 101, 1, 11366, 0xb38e8d15, S=1, 1024, 0xf351799f -0, 102, 102, 1, 11896, 0xeb3e35ca, S=1, 1024, 0xf351799f -0, 103, 103, 1, 11479, 0xbf7581e9, S=1, 1024, 0xf351799f -0, 104, 104, 1, 13395, 0x415b38d8, S=1, 1024, 0xf351799f -0, 105, 105, 1, 12913, 0x61544631, S=1, 1024, 0xf351799f -0, 106, 106, 1, 13864, 0xd39fe768, S=1, 1024, 0xf351799f -0, 107, 107, 1, 13551, 0x76c167d1, S=1, 1024, 0xf351799f -0, 108, 108, 1, 14041, 0x2f206888, S=1, 1024, 0xf351799f -0, 109, 109, 1, 14144, 0x9ec030d3, S=1, 1024, 0xf351799f -0, 110, 110, 1, 14277, 0xa84b3a9b, S=1, 1024, 0xf351799f -0, 111, 111, 1, 14424, 0xf5f1e06e, S=1, 1024, 0xf351799f -0, 112, 112, 1, 14689, 0xbca0adb5, S=1, 1024, 0xf351799f -0, 113, 113, 1, 14598, 0xc1d45745, S=1, 1024, 0xf351799f -0, 114, 114, 1, 15213, 0x8f3080fc, S=1, 1024, 0xf351799f -0, 115, 115, 1, 15425, 0xb0aa8f59, S=1, 1024, 0xf351799f -0, 116, 116, 1, 15595, 0x1406e5d5, S=1, 1024, 0xf351799f -0, 117, 117, 1, 15598, 0x48ec7d08, S=1, 1024, 0xf351799f -0, 118, 118, 1, 15863, 0x5381db7b, S=1, 1024, 0xf351799f -0, 119, 119, 1, 15717, 0xb87a1b87, S=1, 1024, 0xf351799f -0, 120, 120, 1, 16078, 0x5bab2453, S=1, 1024, 0xf351799f -0, 121, 121, 1, 16225, 0xa1f88113, S=1, 1024, 0xf351799f -0, 122, 122, 1, 16135, 0x6af2f4e1, S=1, 1024, 0xf351799f -0, 123, 123, 1, 16661, 0xf02a3343, S=1, 1024, 0xf351799f -0, 124, 124, 1, 16619, 0xc71935a4, S=1, 1024, 0xf351799f -0, 125, 125, 1, 16829, 0x29849844, S=1, 1024, 0xf351799f -0, 126, 126, 1, 16944, 0x3423ae77, S=1, 1024, 0xf351799f -0, 127, 127, 1, 17119, 0x609b4409, S=1, 1024, 0xf351799f -0, 128, 128, 1, 17150, 0xf85dfd31, S=1, 1024, 0xf351799f -0, 129, 129, 1, 17321, 0x38eccb10, S=1, 1024, 0xf351799f -0, 130, 130, 1, 17395, 0x0ba08b85, S=1, 1024, 0xf351799f -0, 131, 131, 1, 17666, 0x6fbc0264, S=1, 1024, 0xf351799f -0, 132, 132, 1, 17730, 0x3dcc64a6, S=1, 1024, 0xf351799f -0, 133, 133, 1, 17934, 0xb539974b, S=1, 1024, 0xf351799f -0, 134, 134, 1, 17944, 0x2214ec94, S=1, 1024, 0xf351799f -0, 135, 135, 1, 18238, 0x70f9ff1d, S=1, 1024, 0xf351799f -0, 136, 136, 1, 18391, 0x4b149209, S=1, 1024, 0xf351799f -0, 137, 137, 1, 18543, 0x45a1c02f, S=1, 1024, 0xf351799f -0, 138, 138, 1, 18939, 0x2789a88c, S=1, 1024, 0xf351799f -0, 139, 139, 1, 19145, 0x5daafd7a, S=1, 1024, 0xf351799f -0, 140, 140, 1, 19120, 0x565f80e6, S=1, 1024, 0xf351799f -0, 141, 141, 1, 19130, 0xff70cc21, S=1, 1024, 0xf351799f -0, 142, 142, 1, 19494, 0xbfa284db, S=1, 1024, 0xf351799f -0, 143, 143, 1, 19534, 0x3d40743b, S=1, 1024, 0xf351799f -0, 144, 144, 1, 19747, 0x33c9b108, S=1, 1024, 0xf351799f -0, 145, 145, 1, 20114, 0x9d223e36, S=1, 1024, 0xf351799f -0, 146, 146, 1, 20257, 0xe7bdaf43, S=1, 1024, 0xf351799f -0, 147, 147, 1, 20370, 0x0c5f1970, S=1, 1024, 0xf351799f -0, 148, 148, 1, 20292, 0x6986d20e, S=1, 1024, 0xf351799f -0, 149, 149, 1, 20491, 0xd88e4c08, S=1, 1024, 0xf351799f -0, 150, 150, 1, 20647, 0x1aefaffc, S=1, 1024, 0xf351799f -0, 151, 151, 1, 20666, 0x43e4aaaa, S=1, 1024, 0xf351799f -0, 152, 152, 1, 21007, 0xa7ca3ef0, S=1, 1024, 0xf351799f -0, 153, 153, 1, 21058, 0x06814351, S=1, 1024, 0xf351799f -0, 154, 154, 1, 21153, 0x3c852b10, S=1, 1024, 0xf351799f -0, 155, 155, 1, 21078, 0x8df15855, S=1, 1024, 0xf351799f -0, 156, 156, 1, 21458, 0xd3a531d6, S=1, 1024, 0xf351799f -0, 157, 157, 1, 21669, 0x88baca53, S=1, 1024, 0xf351799f -0, 158, 158, 1, 21581, 0xd692fa1f, S=1, 1024, 0xf351799f -0, 159, 159, 1, 21654, 0x30fb9061, S=1, 1024, 0xf351799f -0, 160, 160, 1, 21987, 0xe7646d8b, S=1, 1024, 0xf351799f -0, 161, 161, 1, 22205, 0x0fc55b6a, S=1, 1024, 0xf351799f -0, 162, 162, 1, 22475, 0x4bc4c032, S=1, 1024, 0xf351799f -0, 163, 163, 1, 22490, 0x58ca23f6, S=1, 1024, 0xf351799f -0, 164, 164, 1, 22460, 0xf9ceb0ac, S=1, 1024, 0xf351799f -0, 165, 165, 1, 22861, 0xb05f0f84, S=1, 1024, 0xf351799f -0, 166, 166, 1, 22746, 0x0df23a5c, S=1, 1024, 0xf351799f -0, 167, 167, 1, 23165, 0xbd7147ad, S=1, 1024, 0xf351799f -0, 168, 168, 1, 23273, 0x9781a34f, S=1, 1024, 0xf351799f -0, 169, 169, 1, 23211, 0x69c7606b, S=1, 1024, 0xf351799f -0, 170, 170, 1, 23648, 0xdafde037, S=1, 1024, 0xf351799f -0, 171, 171, 1, 23675, 0x2a2147ed, S=1, 1024, 0xf351799f -0, 172, 172, 1, 23874, 0x12c184b6, S=1, 1024, 0xf351799f +0, 0, 0, 1, 552, 0x271a2dd3, S=1, 1, 0x00010001 +0, 1, 1, 1, 297, 0x90168a95, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 2, 2, 1, 438, 0x91efce1b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 3, 3, 1, 450, 0x7c2dcfad, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 4, 4, 1, 547, 0xc131fd3b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 5, 5, 1, 614, 0x68182006, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 6, 6, 1, 642, 0x78bb1f5f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 7, 7, 1, 660, 0x35c033a2, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 8, 8, 1, 821, 0xaf30790b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 9, 9, 1, 1157, 0x741c2da1, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 10, 10, 1, 179, 0x3a27517c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 11, 11, 1, 1333, 0x5ee76f3c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 12, 12, 1, 1638, 0x5f640e86, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 13, 13, 1, 1531, 0xccb8e437, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 14, 14, 1, 1720, 0xc95d45ec, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 15, 15, 1, 1910, 0x56cc831e, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 16, 16, 1, 2124, 0x9cc8e130, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 17, 17, 1, 2248, 0x05a325b1, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 18, 18, 1, 2311, 0xdc633703, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 19, 19, 1, 2408, 0x91c26f3e, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 20, 20, 1, 2601, 0x8cf3c157, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 21, 21, 1, 2687, 0x8f6400e6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 22, 22, 1, 2784, 0xaa880e55, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 23, 23, 1, 2884, 0x46f546f6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 24, 24, 1, 2982, 0x807c7ad5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 25, 25, 1, 3101, 0xbcc89bec, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 26, 26, 1, 3253, 0xd032f3fa, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 27, 27, 1, 3329, 0xe4d42430, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 28, 28, 1, 3572, 0xf8058aa0, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 29, 29, 1, 3807, 0x3d2af9f3, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 30, 30, 1, 2750, 0x814d1c33, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 31, 31, 1, 4031, 0x3b077006, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 32, 32, 1, 3025, 0x86729c1c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 33, 33, 1, 4295, 0xf71b0b38, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 34, 34, 1, 2044, 0x5adcb93b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 35, 35, 1, 3212, 0xcf79eeed, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 36, 36, 1, 2292, 0xb4386334, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 37, 37, 1, 3633, 0x0010992f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 38, 38, 1, 3552, 0x23697490, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 39, 39, 1, 3690, 0x62afdbb8, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 40, 40, 1, 1559, 0x5baef54a, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 41, 41, 1, 954, 0xca75ca79, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 42, 42, 1, 273, 0x3687799b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 43, 43, 1, 930, 0x29f3b0c4, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 44, 44, 1, 271, 0x305e8094, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 45, 45, 1, 196, 0xf5ab51ee, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 46, 46, 1, 4299, 0x67ec0d55, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 47, 47, 1, 4895, 0xb394406c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 48, 48, 1, 4928, 0x233919d7, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 49, 49, 1, 4941, 0x58a357da, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 50, 50, 1, 4154, 0x21f2ac33, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 51, 51, 1, 4678, 0xab3cc050, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 52, 52, 1, 4741, 0x1974b581, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 53, 53, 1, 4982, 0x891456d5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 54, 54, 1, 5179, 0x860fc6a1, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 55, 55, 1, 5046, 0xce9183d3, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 56, 56, 1, 5140, 0xa6d7b9af, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 57, 57, 1, 4301, 0x03b6ef3f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 58, 58, 1, 5079, 0xa8d59e01, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 59, 59, 1, 5284, 0xea34e3b3, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 60, 60, 1, 5426, 0x556a15cd, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 61, 61, 1, 4645, 0x061e8936, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 62, 62, 1, 5263, 0x7536cf7d, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 63, 63, 1, 5221, 0x9fbac3ca, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 64, 64, 1, 5217, 0x02269bd2, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 65, 65, 1, 5395, 0x120fff66, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 66, 66, 1, 5220, 0x77cedcc5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 67, 67, 1, 5704, 0xba42dd96, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 68, 68, 1, 5636, 0xcb91a25b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 69, 69, 1, 5818, 0x8dc0df92, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 70, 70, 1, 5763, 0x51d5d5f0, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 71, 71, 1, 6116, 0x09558b48, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 72, 72, 1, 6069, 0x41926817, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 73, 73, 1, 5796, 0x7fbeda44, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 74, 74, 1, 5999, 0xe07d3770, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 75, 75, 1, 6220, 0x6607b06f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 76, 76, 1, 6374, 0x7628e533, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 77, 77, 1, 6465, 0xfe956b15, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 78, 78, 1, 7019, 0x6c9a1aef, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 79, 79, 1, 7255, 0x5fa5c1bf, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 80, 80, 1, 8197, 0xf11d6ef2, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 81, 81, 1, 8358, 0x027279e8, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 82, 82, 1, 7708, 0x607f8e8b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 83, 83, 1, 7412, 0x6bb2105f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 84, 84, 1, 7541, 0xfdc02154, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 85, 85, 1, 7948, 0x916ecd8b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 86, 86, 1, 8408, 0x1f97d414, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 87, 87, 1, 8056, 0x9cbf159c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 88, 88, 1, 7401, 0x2625addb, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 89, 89, 1, 7494, 0x2877eacb, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 90, 90, 1, 7806, 0xe32574a3, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 91, 91, 1, 7768, 0x25ed7ee7, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 92, 92, 1, 7749, 0x6d8e978e, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 93, 93, 1, 8047, 0xec4b150c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 94, 94, 1, 7618, 0x88cf30d5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 95, 95, 1, 7979, 0x0eb1cf2a, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 96, 96, 1, 12062, 0xb49d9125, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 97, 97, 1, 12317, 0x2d8fd6e9, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 98, 98, 1, 12217, 0x9b3be549, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 99, 99, 1, 11227, 0x067e9118, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 100, 100, 1, 11108, 0x5e5b0afd, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 101, 101, 1, 11366, 0xb38e8d15, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 102, 102, 1, 11896, 0xeb3e35ca, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 103, 103, 1, 11479, 0xbf7581e9, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 104, 104, 1, 13395, 0x415b38d8, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 105, 105, 1, 12913, 0x61544631, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 106, 106, 1, 13864, 0xd39fe768, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 107, 107, 1, 13551, 0x76c167d1, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 108, 108, 1, 14041, 0x2f206888, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 109, 109, 1, 14144, 0x9ec030d3, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 110, 110, 1, 14277, 0xa84b3a9b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 111, 111, 1, 14424, 0xf5f1e06e, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 112, 112, 1, 14689, 0xbca0adb5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 113, 113, 1, 14598, 0xc1d45745, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 114, 114, 1, 15213, 0x8f3080fc, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 115, 115, 1, 15425, 0xb0aa8f59, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 116, 116, 1, 15595, 0x1406e5d5, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 117, 117, 1, 15598, 0x48ec7d08, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 118, 118, 1, 15863, 0x5381db7b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 119, 119, 1, 15717, 0xb87a1b87, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 120, 120, 1, 16078, 0x5bab2453, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 121, 121, 1, 16225, 0xa1f88113, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 122, 122, 1, 16135, 0x6af2f4e1, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 123, 123, 1, 16661, 0xf02a3343, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 124, 124, 1, 16619, 0xc71935a4, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 125, 125, 1, 16829, 0x29849844, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 126, 126, 1, 16944, 0x3423ae77, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 127, 127, 1, 17119, 0x609b4409, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 128, 128, 1, 17150, 0xf85dfd31, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 129, 129, 1, 17321, 0x38eccb10, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 130, 130, 1, 17395, 0x0ba08b85, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 131, 131, 1, 17666, 0x6fbc0264, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 132, 132, 1, 17730, 0x3dcc64a6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 133, 133, 1, 17934, 0xb539974b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 134, 134, 1, 17944, 0x2214ec94, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 135, 135, 1, 18238, 0x70f9ff1d, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 136, 136, 1, 18391, 0x4b149209, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 137, 137, 1, 18543, 0x45a1c02f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 138, 138, 1, 18939, 0x2789a88c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 139, 139, 1, 19145, 0x5daafd7a, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 140, 140, 1, 19120, 0x565f80e6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 141, 141, 1, 19130, 0xff70cc21, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 142, 142, 1, 19494, 0xbfa284db, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 143, 143, 1, 19534, 0x3d40743b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 144, 144, 1, 19747, 0x33c9b108, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 145, 145, 1, 20114, 0x9d223e36, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 146, 146, 1, 20257, 0xe7bdaf43, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 147, 147, 1, 20370, 0x0c5f1970, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 148, 148, 1, 20292, 0x6986d20e, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 149, 149, 1, 20491, 0xd88e4c08, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 150, 150, 1, 20647, 0x1aefaffc, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 151, 151, 1, 20666, 0x43e4aaaa, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 152, 152, 1, 21007, 0xa7ca3ef0, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 153, 153, 1, 21058, 0x06814351, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 154, 154, 1, 21153, 0x3c852b10, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 155, 155, 1, 21078, 0x8df15855, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 156, 156, 1, 21458, 0xd3a531d6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 157, 157, 1, 21669, 0x88baca53, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 158, 158, 1, 21581, 0xd692fa1f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 159, 159, 1, 21654, 0x30fb9061, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 160, 160, 1, 21987, 0xe7646d8b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 161, 161, 1, 22205, 0x0fc55b6a, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 162, 162, 1, 22475, 0x4bc4c032, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 163, 163, 1, 22490, 0x58ca23f6, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 164, 164, 1, 22460, 0xf9ceb0ac, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 165, 165, 1, 22861, 0xb05f0f84, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 166, 166, 1, 22746, 0x0df23a5c, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 167, 167, 1, 23165, 0xbd7147ad, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 168, 168, 1, 23273, 0x9781a34f, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 169, 169, 1, 23211, 0x69c7606b, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 170, 170, 1, 23648, 0xdafde037, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 171, 171, 1, 23675, 0x2a2147ed, S=2, 1, 0x00010001, 1024, 0xf351799f +0, 172, 172, 1, 23874, 0x12c184b6, S=2, 1, 0x00010001, 1024, 0xf351799f diff --git a/tests/ref/fate/gifenc-gray b/tests/ref/fate/gifenc-gray index 81cdd1888e8d5..7d999c70b2f56 100644 --- a/tests/ref/fate/gifenc-gray +++ b/tests/ref/fate/gifenc-gray @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 579, 0x0d0e3ab8 -0, 1, 1, 1, 150, 0x178b3a8c, S=1, 1024, 0xc2f67c9f -0, 2, 2, 1, 155, 0x941743f5, S=1, 1024, 0xc2f67c9f -0, 3, 3, 1, 144, 0x68c73711, S=1, 1024, 0xc2f67c9f -0, 4, 4, 1, 152, 0xaf9a3f2e, S=1, 1024, 0xc2f67c9f -0, 5, 5, 1, 136, 0x68593d85, S=1, 1024, 0xc2f67c9f -0, 6, 6, 1, 134, 0x0dcb373f, S=1, 1024, 0xc2f67c9f -0, 7, 7, 1, 129, 0x3baf3279, S=1, 1024, 0xc2f67c9f -0, 8, 8, 1, 123, 0x9c963148, S=1, 1024, 0xc2f67c9f -0, 9, 9, 1, 123, 0x5c272d6b, S=1, 1024, 0xc2f67c9f -0, 10, 10, 1, 150, 0x5f8d41aa, S=1, 1024, 0xc2f67c9f -0, 11, 11, 1, 134, 0x6f582fee, S=1, 1024, 0xc2f67c9f -0, 12, 12, 1, 134, 0x85d53038, S=1, 1024, 0xc2f67c9f -0, 13, 13, 1, 123, 0x6d2a2cb2, S=1, 1024, 0xc2f67c9f -0, 14, 14, 1, 127, 0x1e78327b, S=1, 1024, 0xc2f67c9f -0, 15, 15, 1, 119, 0xbafc2c31, S=1, 1024, 0xc2f67c9f -0, 16, 16, 1, 138, 0x57553638, S=1, 1024, 0xc2f67c9f -0, 17, 17, 1, 140, 0xf7423adb, S=1, 1024, 0xc2f67c9f -0, 18, 18, 1, 122, 0x7e592f8b, S=1, 1024, 0xc2f67c9f -0, 19, 19, 1, 123, 0xaa7d313c, S=1, 1024, 0xc2f67c9f -0, 20, 20, 1, 140, 0x4fd63b34, S=1, 1024, 0xc2f67c9f -0, 21, 21, 1, 123, 0x67753163, S=1, 1024, 0xc2f67c9f -0, 22, 22, 1, 123, 0x02193147, S=1, 1024, 0xc2f67c9f -0, 23, 23, 1, 124, 0xa85131e9, S=1, 1024, 0xc2f67c9f -0, 24, 24, 1, 122, 0xef8731e2, S=1, 1024, 0xc2f67c9f -0, 25, 25, 1, 122, 0x06d432c9, S=1, 1024, 0xc2f67c9f -0, 26, 26, 1, 123, 0xcc8831cd, S=1, 1024, 0xc2f67c9f -0, 27, 27, 1, 118, 0xa1d33166, S=1, 1024, 0xc2f67c9f -0, 28, 28, 1, 159, 0xcc8c454c, S=1, 1024, 0xc2f67c9f -0, 29, 29, 1, 140, 0x8a0231ad, S=1, 1024, 0xc2f67c9f -0, 30, 30, 1, 163, 0xe78248d2, S=1, 1024, 0xc2f67c9f -0, 31, 31, 1, 142, 0x3b293489, S=1, 1024, 0xc2f67c9f -0, 32, 32, 1, 170, 0x5f504b12, S=1, 1024, 0xc2f67c9f -0, 33, 33, 1, 146, 0x38a53693, S=1, 1024, 0xc2f67c9f -0, 34, 34, 1, 132, 0xb18a3499, S=1, 1024, 0xc2f67c9f -0, 35, 35, 1, 113, 0x55182bda, S=1, 1024, 0xc2f67c9f -0, 36, 36, 1, 132, 0xaced3333, S=1, 1024, 0xc2f67c9f -0, 37, 37, 1, 120, 0x9ffe2e4f, S=1, 1024, 0xc2f67c9f -0, 38, 38, 1, 135, 0x6223351e, S=1, 1024, 0xc2f67c9f -0, 39, 39, 1, 123, 0x269b3058, S=1, 1024, 0xc2f67c9f -0, 40, 40, 1, 119, 0x17052def, S=1, 1024, 0xc2f67c9f -0, 41, 41, 1, 119, 0x36da2ee2, S=1, 1024, 0xc2f67c9f -0, 42, 42, 1, 120, 0x984e31be, S=1, 1024, 0xc2f67c9f -0, 43, 43, 1, 114, 0xfd382c9d, S=1, 1024, 0xc2f67c9f -0, 44, 44, 1, 125, 0x926a36c6, S=1, 1024, 0xc2f67c9f -0, 45, 45, 1, 117, 0xbceb3183, S=1, 1024, 0xc2f67c9f -0, 46, 46, 1, 116, 0xf4c72d82, S=1, 1024, 0xc2f67c9f -0, 47, 47, 1, 124, 0x0c19343c, S=1, 1024, 0xc2f67c9f -0, 48, 48, 1, 117, 0x1f032eb1, S=1, 1024, 0xc2f67c9f -0, 49, 49, 1, 135, 0x31a437e6, S=1, 1024, 0xc2f67c9f -0, 50, 50, 1, 131, 0x4c1735fe, S=1, 1024, 0xc2f67c9f -0, 51, 51, 1, 122, 0xb7603463, S=1, 1024, 0xc2f67c9f -0, 52, 52, 1, 122, 0x7f5e34e1, S=1, 1024, 0xc2f67c9f -0, 53, 53, 1, 124, 0x9562350f, S=1, 1024, 0xc2f67c9f -0, 54, 54, 1, 126, 0x18b33759, S=1, 1024, 0xc2f67c9f -0, 55, 55, 1, 117, 0x748f3243, S=1, 1024, 0xc2f67c9f -0, 56, 56, 1, 109, 0x72832fe7, S=1, 1024, 0xc2f67c9f -0, 57, 57, 1, 120, 0x748a2e38, S=1, 1024, 0xc2f67c9f -0, 58, 58, 1, 120, 0x61f82fb2, S=1, 1024, 0xc2f67c9f -0, 59, 59, 1, 122, 0x2a6b3282, S=1, 1024, 0xc2f67c9f -0, 60, 60, 1, 116, 0x8b542de6, S=1, 1024, 0xc2f67c9f -0, 61, 61, 1, 119, 0xf33c318e, S=1, 1024, 0xc2f67c9f -0, 62, 62, 1, 116, 0xff182f36, S=1, 1024, 0xc2f67c9f -0, 63, 63, 1, 119, 0xeb9e2fcc, S=1, 1024, 0xc2f67c9f -0, 64, 64, 1, 118, 0xe82d304e, S=1, 1024, 0xc2f67c9f -0, 65, 65, 1, 137, 0x98303d30, S=1, 1024, 0xc2f67c9f -0, 66, 66, 1, 149, 0x01123fff, S=1, 1024, 0xc2f67c9f -0, 67, 67, 1, 115, 0x4ca92f75, S=1, 1024, 0xc2f67c9f -0, 68, 68, 1, 131, 0xf4193bc0, S=1, 1024, 0xc2f67c9f -0, 69, 69, 1, 115, 0xda5e2f30, S=1, 1024, 0xc2f67c9f -0, 70, 70, 1, 100, 0x9ba32a58, S=1, 1024, 0xc2f67c9f -0, 71, 71, 1, 109, 0xa47e2c91, S=1, 1024, 0xc2f67c9f -0, 72, 72, 1, 120, 0x22452fd6, S=1, 1024, 0xc2f67c9f -0, 73, 73, 1, 116, 0xd3c52c26, S=1, 1024, 0xc2f67c9f -0, 74, 74, 1, 106, 0x95b42c9f, S=1, 1024, 0xc2f67c9f -0, 75, 75, 1, 96, 0xfdc12639, S=1, 1024, 0xc2f67c9f -0, 76, 76, 1, 99, 0x210f251b, S=1, 1024, 0xc2f67c9f -0, 77, 77, 1, 119, 0x173b341c, S=1, 1024, 0xc2f67c9f -0, 78, 78, 1, 119, 0x3bca2f29, S=1, 1024, 0xc2f67c9f -0, 79, 79, 1, 213, 0x9e905d4c, S=1, 1024, 0xc2f67c9f -0, 80, 80, 1, 209, 0xa0015e94, S=1, 1024, 0xc2f67c9f -0, 81, 81, 1, 120, 0x36762bd4, S=1, 1024, 0xc2f67c9f -0, 82, 82, 1, 119, 0x019b2edc, S=1, 1024, 0xc2f67c9f -0, 83, 83, 1, 124, 0x211d30e7, S=1, 1024, 0xc2f67c9f -0, 84, 84, 1, 125, 0x538732ff, S=1, 1024, 0xc2f67c9f -0, 85, 85, 1, 123, 0x2887308a, S=1, 1024, 0xc2f67c9f -0, 86, 86, 1, 119, 0x7ff930f4, S=1, 1024, 0xc2f67c9f -0, 87, 87, 1, 119, 0xa50c2e16, S=1, 1024, 0xc2f67c9f -0, 88, 88, 1, 107, 0x9ed02cea, S=1, 1024, 0xc2f67c9f -0, 89, 89, 1, 119, 0xc234332a, S=1, 1024, 0xc2f67c9f -0, 90, 90, 1, 115, 0x38353092, S=1, 1024, 0xc2f67c9f -0, 91, 91, 1, 162, 0x6cda4644, S=1, 1024, 0xc2f67c9f -0, 92, 92, 1, 124, 0x2f683081, S=1, 1024, 0xc2f67c9f -0, 93, 93, 1, 116, 0x72952d04, S=1, 1024, 0xc2f67c9f -0, 94, 94, 1, 84, 0x1a532301, S=1, 1024, 0xc2f67c9f -0, 95, 95, 1, 176, 0xfb3c5400, S=1, 1024, 0xc2f67c9f -0, 96, 96, 1, 137, 0x253132d1, S=1, 1024, 0xc2f67c9f -0, 97, 97, 1, 179, 0x2b38528b, S=1, 1024, 0xc2f67c9f -0, 98, 98, 1, 150, 0xbe413cbe, S=1, 1024, 0xc2f67c9f -0, 99, 99, 1, 140, 0x9e93392a, S=1, 1024, 0xc2f67c9f -0, 100, 100, 1, 129, 0x577e331e, S=1, 1024, 0xc2f67c9f -0, 101, 101, 1, 146, 0x16ff3924, S=1, 1024, 0xc2f67c9f -0, 102, 102, 1, 133, 0x756a3163, S=1, 1024, 0xc2f67c9f -0, 103, 103, 1, 190, 0x3e865b77, S=1, 1024, 0xc2f67c9f -0, 104, 104, 1, 159, 0xdf393fc8, S=1, 1024, 0xc2f67c9f -0, 105, 105, 1, 188, 0x84be5168, S=1, 1024, 0xc2f67c9f -0, 106, 106, 1, 163, 0x4c0e41f0, S=1, 1024, 0xc2f67c9f -0, 107, 107, 1, 144, 0x5fda3792, S=1, 1024, 0xc2f67c9f -0, 108, 108, 1, 136, 0x028c3800, S=1, 1024, 0xc2f67c9f -0, 109, 109, 1, 150, 0x75d43a8d, S=1, 1024, 0xc2f67c9f -0, 110, 110, 1, 134, 0x81123999, S=1, 1024, 0xc2f67c9f -0, 111, 111, 1, 198, 0x0a875baa, S=1, 1024, 0xc2f67c9f -0, 112, 112, 1, 169, 0xfdd7458c, S=1, 1024, 0xc2f67c9f -0, 113, 113, 1, 210, 0x9b195be4, S=1, 1024, 0xc2f67c9f -0, 114, 114, 1, 174, 0x0a424a76, S=1, 1024, 0xc2f67c9f -0, 115, 115, 1, 137, 0xb1b535fd, S=1, 1024, 0xc2f67c9f -0, 116, 116, 1, 122, 0x4d3f327b, S=1, 1024, 0xc2f67c9f -0, 117, 117, 1, 152, 0x5e423b0c, S=1, 1024, 0xc2f67c9f -0, 118, 118, 1, 137, 0xd13a39f7, S=1, 1024, 0xc2f67c9f -0, 119, 119, 1, 156, 0x40864321, S=1, 1024, 0xc2f67c9f -0, 120, 120, 1, 140, 0xbe1e393c, S=1, 1024, 0xc2f67c9f -0, 121, 121, 1, 179, 0xaf204635, S=1, 1024, 0xc2f67c9f -0, 122, 122, 1, 116, 0x5ac83123, S=1, 1024, 0xc2f67c9f -0, 123, 123, 1, 118, 0x22bc2ec5, S=1, 1024, 0xc2f67c9f -0, 124, 124, 1, 123, 0xc9b5302d, S=1, 1024, 0xc2f67c9f -0, 125, 125, 1, 125, 0x5cee3077, S=1, 1024, 0xc2f67c9f -0, 126, 126, 1, 194, 0xccc159ca, S=1, 1024, 0xc2f67c9f -0, 127, 127, 1, 122, 0x4d243229, S=1, 1024, 0xc2f67c9f -0, 128, 128, 1, 124, 0x948f330b, S=1, 1024, 0xc2f67c9f -0, 129, 129, 1, 133, 0xd53c35ca, S=1, 1024, 0xc2f67c9f -0, 130, 130, 1, 126, 0xc5543710, S=1, 1024, 0xc2f67c9f -0, 131, 131, 1, 208, 0x6cf15ea2, S=1, 1024, 0xc2f67c9f -0, 132, 132, 1, 131, 0xa8d33505, S=1, 1024, 0xc2f67c9f -0, 133, 133, 1, 114, 0x0ae53001, S=1, 1024, 0xc2f67c9f -0, 134, 134, 1, 129, 0xe9ff37c4, S=1, 1024, 0xc2f67c9f -0, 135, 135, 1, 120, 0x02623359, S=1, 1024, 0xc2f67c9f -0, 136, 136, 1, 164, 0x9dc545e5, S=1, 1024, 0xc2f67c9f -0, 137, 137, 1, 245, 0xc170715a, S=1, 1024, 0xc2f67c9f -0, 138, 138, 1, 215, 0xc93d5fbe, S=1, 1024, 0xc2f67c9f -0, 139, 139, 1, 225, 0x14866349, S=1, 1024, 0xc2f67c9f -0, 140, 140, 1, 123, 0x70cd2b64, S=1, 1024, 0xc2f67c9f -0, 141, 141, 1, 124, 0xe9002fb5, S=1, 1024, 0xc2f67c9f -0, 142, 142, 1, 125, 0x106e309b, S=1, 1024, 0xc2f67c9f -0, 143, 143, 1, 122, 0x050e32b0, S=1, 1024, 0xc2f67c9f -0, 144, 144, 1, 224, 0xf548614f, S=1, 1024, 0xc2f67c9f -0, 145, 145, 1, 239, 0x125c6ade, S=1, 1024, 0xc2f67c9f -0, 146, 146, 1, 127, 0x398734b6, S=1, 1024, 0xc2f67c9f -0, 147, 147, 1, 126, 0x2ff431e5, S=1, 1024, 0xc2f67c9f -0, 148, 148, 1, 124, 0x9583313b, S=1, 1024, 0xc2f67c9f -0, 149, 149, 1, 126, 0xc1fc3692, S=1, 1024, 0xc2f67c9f -0, 150, 150, 1, 123, 0xd0bf3170, S=1, 1024, 0xc2f67c9f -0, 151, 151, 1, 117, 0x651f3032, S=1, 1024, 0xc2f67c9f -0, 152, 152, 1, 119, 0x268a3078, S=1, 1024, 0xc2f67c9f -0, 153, 153, 1, 117, 0x9e4d3283, S=1, 1024, 0xc2f67c9f -0, 154, 154, 1, 149, 0x8f1043ba, S=1, 1024, 0xc2f67c9f -0, 155, 155, 1, 127, 0x352338bc, S=1, 1024, 0xc2f67c9f -0, 156, 156, 1, 113, 0xf877314e, S=1, 1024, 0xc2f67c9f -0, 157, 157, 1, 128, 0x88103a62, S=1, 1024, 0xc2f67c9f -0, 158, 158, 1, 111, 0xbf0630d9, S=1, 1024, 0xc2f67c9f -0, 159, 159, 1, 146, 0x159c44f7, S=1, 1024, 0xc2f67c9f -0, 160, 160, 1, 237, 0x4e45662e, S=1, 1024, 0xc2f67c9f -0, 161, 161, 1, 233, 0x8f9e6354, S=1, 1024, 0xc2f67c9f -0, 162, 162, 1, 160, 0x9c3f431f, S=1, 1024, 0xc2f67c9f -0, 163, 163, 1, 125, 0xbd2b33c6, S=1, 1024, 0xc2f67c9f -0, 164, 164, 1, 131, 0x3ecd3ba5, S=1, 1024, 0xc2f67c9f -0, 165, 165, 1, 231, 0xdf286db6, S=1, 1024, 0xc2f67c9f -0, 166, 166, 1, 153, 0xb6da408d, S=1, 1024, 0xc2f67c9f -0, 167, 167, 1, 126, 0x6741365e, S=1, 1024, 0xc2f67c9f -0, 168, 168, 1, 113, 0x658f2c90, S=1, 1024, 0xc2f67c9f -0, 169, 169, 1, 125, 0xc0033320, S=1, 1024, 0xc2f67c9f -0, 170, 170, 1, 122, 0xe38a2db1, S=1, 1024, 0xc2f67c9f -0, 171, 171, 1, 145, 0x29d63e83, S=1, 1024, 0xc2f67c9f -0, 172, 172, 1, 171, 0xc0e44b70, S=1, 1024, 0xc2f67c9f +0, 0, 0, 1, 579, 0x0d0e3ab8, S=1, 1, 0x00010001 +0, 1, 1, 1, 150, 0x178b3a8c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 2, 2, 1, 155, 0x941743f5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 3, 3, 1, 144, 0x68c73711, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 4, 4, 1, 152, 0xaf9a3f2e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 5, 5, 1, 136, 0x68593d85, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 6, 6, 1, 134, 0x0dcb373f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 7, 7, 1, 129, 0x3baf3279, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 8, 8, 1, 123, 0x9c963148, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 9, 9, 1, 123, 0x5c272d6b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 10, 10, 1, 150, 0x5f8d41aa, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 11, 11, 1, 134, 0x6f582fee, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 12, 12, 1, 134, 0x85d53038, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 13, 13, 1, 123, 0x6d2a2cb2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 14, 14, 1, 127, 0x1e78327b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 15, 15, 1, 119, 0xbafc2c31, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 16, 16, 1, 138, 0x57553638, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 17, 17, 1, 140, 0xf7423adb, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 18, 18, 1, 122, 0x7e592f8b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 19, 19, 1, 123, 0xaa7d313c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 20, 20, 1, 140, 0x4fd63b34, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 21, 21, 1, 123, 0x67753163, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 22, 22, 1, 123, 0x02193147, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 23, 23, 1, 124, 0xa85131e9, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 24, 24, 1, 122, 0xef8731e2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 25, 25, 1, 122, 0x06d432c9, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 26, 26, 1, 123, 0xcc8831cd, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 27, 27, 1, 118, 0xa1d33166, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 28, 28, 1, 159, 0xcc8c454c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 29, 29, 1, 140, 0x8a0231ad, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 30, 30, 1, 163, 0xe78248d2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 31, 31, 1, 142, 0x3b293489, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 32, 32, 1, 170, 0x5f504b12, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 33, 33, 1, 146, 0x38a53693, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 34, 34, 1, 132, 0xb18a3499, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 35, 35, 1, 113, 0x55182bda, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 36, 36, 1, 132, 0xaced3333, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 37, 37, 1, 120, 0x9ffe2e4f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 38, 38, 1, 135, 0x6223351e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 39, 39, 1, 123, 0x269b3058, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 40, 40, 1, 119, 0x17052def, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 41, 41, 1, 119, 0x36da2ee2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 42, 42, 1, 120, 0x984e31be, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 43, 43, 1, 114, 0xfd382c9d, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 44, 44, 1, 125, 0x926a36c6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 45, 45, 1, 117, 0xbceb3183, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 46, 46, 1, 116, 0xf4c72d82, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 47, 47, 1, 124, 0x0c19343c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 48, 48, 1, 117, 0x1f032eb1, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 49, 49, 1, 135, 0x31a437e6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 50, 50, 1, 131, 0x4c1735fe, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 51, 51, 1, 122, 0xb7603463, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 52, 52, 1, 122, 0x7f5e34e1, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 53, 53, 1, 124, 0x9562350f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 54, 54, 1, 126, 0x18b33759, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 55, 55, 1, 117, 0x748f3243, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 56, 56, 1, 109, 0x72832fe7, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 57, 57, 1, 120, 0x748a2e38, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 58, 58, 1, 120, 0x61f82fb2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 59, 59, 1, 122, 0x2a6b3282, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 60, 60, 1, 116, 0x8b542de6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 61, 61, 1, 119, 0xf33c318e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 62, 62, 1, 116, 0xff182f36, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 63, 63, 1, 119, 0xeb9e2fcc, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 64, 64, 1, 118, 0xe82d304e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 65, 65, 1, 137, 0x98303d30, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 66, 66, 1, 149, 0x01123fff, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 67, 67, 1, 115, 0x4ca92f75, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 68, 68, 1, 131, 0xf4193bc0, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 69, 69, 1, 115, 0xda5e2f30, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 70, 70, 1, 100, 0x9ba32a58, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 71, 71, 1, 109, 0xa47e2c91, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 72, 72, 1, 120, 0x22452fd6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 73, 73, 1, 116, 0xd3c52c26, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 74, 74, 1, 106, 0x95b42c9f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 75, 75, 1, 96, 0xfdc12639, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 76, 76, 1, 99, 0x210f251b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 77, 77, 1, 119, 0x173b341c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 78, 78, 1, 119, 0x3bca2f29, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 79, 79, 1, 213, 0x9e905d4c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 80, 80, 1, 209, 0xa0015e94, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 81, 81, 1, 120, 0x36762bd4, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 82, 82, 1, 119, 0x019b2edc, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 83, 83, 1, 124, 0x211d30e7, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 84, 84, 1, 125, 0x538732ff, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 85, 85, 1, 123, 0x2887308a, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 86, 86, 1, 119, 0x7ff930f4, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 87, 87, 1, 119, 0xa50c2e16, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 88, 88, 1, 107, 0x9ed02cea, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 89, 89, 1, 119, 0xc234332a, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 90, 90, 1, 115, 0x38353092, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 91, 91, 1, 162, 0x6cda4644, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 92, 92, 1, 124, 0x2f683081, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 93, 93, 1, 116, 0x72952d04, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 94, 94, 1, 84, 0x1a532301, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 95, 95, 1, 176, 0xfb3c5400, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 96, 96, 1, 137, 0x253132d1, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 97, 97, 1, 179, 0x2b38528b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 98, 98, 1, 150, 0xbe413cbe, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 99, 99, 1, 140, 0x9e93392a, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 100, 100, 1, 129, 0x577e331e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 101, 101, 1, 146, 0x16ff3924, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 102, 102, 1, 133, 0x756a3163, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 103, 103, 1, 190, 0x3e865b77, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 104, 104, 1, 159, 0xdf393fc8, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 105, 105, 1, 188, 0x84be5168, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 106, 106, 1, 163, 0x4c0e41f0, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 107, 107, 1, 144, 0x5fda3792, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 108, 108, 1, 136, 0x028c3800, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 109, 109, 1, 150, 0x75d43a8d, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 110, 110, 1, 134, 0x81123999, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 111, 111, 1, 198, 0x0a875baa, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 112, 112, 1, 169, 0xfdd7458c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 113, 113, 1, 210, 0x9b195be4, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 114, 114, 1, 174, 0x0a424a76, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 115, 115, 1, 137, 0xb1b535fd, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 116, 116, 1, 122, 0x4d3f327b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 117, 117, 1, 152, 0x5e423b0c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 118, 118, 1, 137, 0xd13a39f7, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 119, 119, 1, 156, 0x40864321, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 120, 120, 1, 140, 0xbe1e393c, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 121, 121, 1, 179, 0xaf204635, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 122, 122, 1, 116, 0x5ac83123, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 123, 123, 1, 118, 0x22bc2ec5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 124, 124, 1, 123, 0xc9b5302d, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 125, 125, 1, 125, 0x5cee3077, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 126, 126, 1, 194, 0xccc159ca, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 127, 127, 1, 122, 0x4d243229, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 128, 128, 1, 124, 0x948f330b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 129, 129, 1, 133, 0xd53c35ca, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 130, 130, 1, 126, 0xc5543710, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 131, 131, 1, 208, 0x6cf15ea2, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 132, 132, 1, 131, 0xa8d33505, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 133, 133, 1, 114, 0x0ae53001, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 134, 134, 1, 129, 0xe9ff37c4, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 135, 135, 1, 120, 0x02623359, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 136, 136, 1, 164, 0x9dc545e5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 137, 137, 1, 245, 0xc170715a, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 138, 138, 1, 215, 0xc93d5fbe, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 139, 139, 1, 225, 0x14866349, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 140, 140, 1, 123, 0x70cd2b64, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 141, 141, 1, 124, 0xe9002fb5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 142, 142, 1, 125, 0x106e309b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 143, 143, 1, 122, 0x050e32b0, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 144, 144, 1, 224, 0xf548614f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 145, 145, 1, 239, 0x125c6ade, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 146, 146, 1, 127, 0x398734b6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 147, 147, 1, 126, 0x2ff431e5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 148, 148, 1, 124, 0x9583313b, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 149, 149, 1, 126, 0xc1fc3692, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 150, 150, 1, 123, 0xd0bf3170, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 151, 151, 1, 117, 0x651f3032, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 152, 152, 1, 119, 0x268a3078, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 153, 153, 1, 117, 0x9e4d3283, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 154, 154, 1, 149, 0x8f1043ba, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 155, 155, 1, 127, 0x352338bc, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 156, 156, 1, 113, 0xf877314e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 157, 157, 1, 128, 0x88103a62, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 158, 158, 1, 111, 0xbf0630d9, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 159, 159, 1, 146, 0x159c44f7, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 160, 160, 1, 237, 0x4e45662e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 161, 161, 1, 233, 0x8f9e6354, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 162, 162, 1, 160, 0x9c3f431f, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 163, 163, 1, 125, 0xbd2b33c6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 164, 164, 1, 131, 0x3ecd3ba5, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 165, 165, 1, 231, 0xdf286db6, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 166, 166, 1, 153, 0xb6da408d, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 167, 167, 1, 126, 0x6741365e, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 168, 168, 1, 113, 0x658f2c90, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 169, 169, 1, 125, 0xc0033320, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 170, 170, 1, 122, 0xe38a2db1, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 171, 171, 1, 145, 0x29d63e83, S=2, 1, 0x00010001, 1024, 0xc2f67c9f +0, 172, 172, 1, 171, 0xc0e44b70, S=2, 1, 0x00010001, 1024, 0xc2f67c9f diff --git a/tests/ref/fate/gifenc-pal8 b/tests/ref/fate/gifenc-pal8 index a6d5741992f2d..00ccc5464b5b5 100644 --- a/tests/ref/fate/gifenc-pal8 +++ b/tests/ref/fate/gifenc-pal8 @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 552, 0x271a2dd3, S=1, 1024, 0xec907a9e -0, 1, 1, 1, 297, 0x90168a95, S=1, 1024, 0xf351799f -0, 2, 2, 1, 438, 0x91efce1b, S=1, 1024, 0xf351799f -0, 3, 3, 1, 450, 0x7c2dcfad, S=1, 1024, 0xf351799f -0, 4, 4, 1, 547, 0xc131fd3b, S=1, 1024, 0xf351799f -0, 5, 5, 1, 614, 0x68182006, S=1, 1024, 0xf351799f -0, 6, 6, 1, 642, 0x78bb1f5f, S=1, 1024, 0xf351799f -0, 7, 7, 1, 660, 0x35c033a2, S=1, 1024, 0xf351799f -0, 8, 8, 1, 821, 0xaf30790b, S=1, 1024, 0xf351799f -0, 9, 9, 1, 1157, 0x741c2da1, S=1, 1024, 0xf351799f -0, 10, 10, 1, 179, 0x3a27517c, S=1, 1024, 0xf351799f -0, 11, 11, 1, 1333, 0x5ee76f3c, S=1, 1024, 0xf351799f -0, 12, 12, 1, 1638, 0x5f640e86, S=1, 1024, 0xf351799f -0, 13, 13, 1, 1531, 0xccb8e437, S=1, 1024, 0xf351799f -0, 14, 14, 1, 1720, 0xc95d45ec, S=1, 1024, 0xf351799f -0, 15, 15, 1, 1910, 0x56cc831e, S=1, 1024, 0xf351799f -0, 16, 16, 1, 2124, 0x9cc8e130, S=1, 1024, 0xf351799f -0, 17, 17, 1, 2248, 0x05a325b1, S=1, 1024, 0xf351799f -0, 18, 18, 1, 2311, 0xdc633703, S=1, 1024, 0xf351799f -0, 19, 19, 1, 2408, 0x91c26f3e, S=1, 1024, 0xf351799f -0, 20, 20, 1, 2601, 0x8cf3c157, S=1, 1024, 0xf351799f -0, 21, 21, 1, 2687, 0x8f6400e6, S=1, 1024, 0xf351799f -0, 22, 22, 1, 2784, 0xaa880e55, S=1, 1024, 0xf351799f -0, 23, 23, 1, 2884, 0x46f546f6, S=1, 1024, 0xf351799f -0, 24, 24, 1, 2982, 0x807c7ad5, S=1, 1024, 0xf351799f -0, 25, 25, 1, 3101, 0xbcc89bec, S=1, 1024, 0xf351799f -0, 26, 26, 1, 3253, 0xd032f3fa, S=1, 1024, 0xf351799f -0, 27, 27, 1, 3329, 0xe4d42430, S=1, 1024, 0xf351799f -0, 28, 28, 1, 3572, 0xf8058aa0, S=1, 1024, 0xf351799f -0, 29, 29, 1, 3807, 0x3d2af9f3, S=1, 1024, 0xf351799f -0, 30, 30, 1, 2750, 0x814d1c33, S=1, 1024, 0xf351799f -0, 31, 31, 1, 4031, 0x3b077006, S=1, 1024, 0xf351799f -0, 32, 32, 1, 3025, 0x86729c1c, S=1, 1024, 0xf351799f -0, 33, 33, 1, 4295, 0xf71b0b38, S=1, 1024, 0xf351799f -0, 34, 34, 1, 2044, 0x5adcb93b, S=1, 1024, 0xf351799f -0, 35, 35, 1, 3212, 0xcf79eeed, S=1, 1024, 0xf351799f -0, 36, 36, 1, 2292, 0xb4386334, S=1, 1024, 0xf351799f -0, 37, 37, 1, 3633, 0x0010992f, S=1, 1024, 0xf351799f -0, 38, 38, 1, 3552, 0x23697490, S=1, 1024, 0xf351799f -0, 39, 39, 1, 3690, 0x62afdbb8, S=1, 1024, 0xf351799f -0, 40, 40, 1, 1559, 0x5baef54a, S=1, 1024, 0xf351799f -0, 41, 41, 1, 954, 0xca75ca79, S=1, 1024, 0xf351799f -0, 42, 42, 1, 273, 0x3687799b, S=1, 1024, 0xf351799f -0, 43, 43, 1, 930, 0x29f3b0c4, S=1, 1024, 0xf351799f -0, 44, 44, 1, 271, 0x305e8094, S=1, 1024, 0xf351799f -0, 45, 45, 1, 196, 0xf5ab51ee, S=1, 1024, 0xf351799f -0, 46, 46, 1, 4299, 0x67ec0d55, S=1, 1024, 0xf351799f -0, 47, 47, 1, 4895, 0xb394406c, S=1, 1024, 0xf351799f -0, 48, 48, 1, 4928, 0x233919d7, S=1, 1024, 0xf351799f -0, 49, 49, 1, 4941, 0x58a357da, S=1, 1024, 0xf351799f -0, 50, 50, 1, 4154, 0x21f2ac33, S=1, 1024, 0xf351799f -0, 51, 51, 1, 4678, 0xab3cc050, S=1, 1024, 0xf351799f -0, 52, 52, 1, 4741, 0x1974b581, S=1, 1024, 0xf351799f -0, 53, 53, 1, 4982, 0x891456d5, S=1, 1024, 0xf351799f -0, 54, 54, 1, 5179, 0x860fc6a1, S=1, 1024, 0xf351799f -0, 55, 55, 1, 5046, 0xce9183d3, S=1, 1024, 0xf351799f -0, 56, 56, 1, 5140, 0xa6d7b9af, S=1, 1024, 0xf351799f -0, 57, 57, 1, 4301, 0x03b6ef3f, S=1, 1024, 0xf351799f -0, 58, 58, 1, 5079, 0xa8d59e01, S=1, 1024, 0xf351799f -0, 59, 59, 1, 5284, 0xea34e3b3, S=1, 1024, 0xf351799f -0, 60, 60, 1, 5426, 0x556a15cd, S=1, 1024, 0xf351799f -0, 61, 61, 1, 4645, 0x061e8936, S=1, 1024, 0xf351799f -0, 62, 62, 1, 5263, 0x7536cf7d, S=1, 1024, 0xf351799f -0, 63, 63, 1, 5221, 0x9fbac3ca, S=1, 1024, 0xf351799f -0, 64, 64, 1, 5217, 0x02269bd2, S=1, 1024, 0xf351799f -0, 65, 65, 1, 5395, 0x120fff66, S=1, 1024, 0xf351799f -0, 66, 66, 1, 5220, 0x77cedcc5, S=1, 1024, 0xf351799f -0, 67, 67, 1, 5704, 0xba42dd96, S=1, 1024, 0xf351799f -0, 68, 68, 1, 5636, 0xcb91a25b, S=1, 1024, 0xf351799f -0, 69, 69, 1, 5818, 0x8dc0df92, S=1, 1024, 0xf351799f -0, 70, 70, 1, 5763, 0x51d5d5f0, S=1, 1024, 0xf351799f -0, 71, 71, 1, 6116, 0x09558b48, S=1, 1024, 0xf351799f -0, 72, 72, 1, 6069, 0x41926817, S=1, 1024, 0xf351799f -0, 73, 73, 1, 5796, 0x7fbeda44, S=1, 1024, 0xf351799f -0, 74, 74, 1, 5999, 0xe07d3770, S=1, 1024, 0xf351799f -0, 75, 75, 1, 6220, 0x6607b06f, S=1, 1024, 0xf351799f -0, 76, 76, 1, 6374, 0x7628e533, S=1, 1024, 0xf351799f -0, 77, 77, 1, 6465, 0xfe956b15, S=1, 1024, 0xf351799f -0, 78, 78, 1, 7019, 0x6c9a1aef, S=1, 1024, 0xf351799f -0, 79, 79, 1, 7255, 0x5fa5c1bf, S=1, 1024, 0xf351799f -0, 80, 80, 1, 8197, 0xf11d6ef2, S=1, 1024, 0xf351799f -0, 81, 81, 1, 8358, 0x027279e8, S=1, 1024, 0xf351799f -0, 82, 82, 1, 7708, 0x607f8e8b, S=1, 1024, 0xf351799f -0, 83, 83, 1, 7412, 0x6bb2105f, S=1, 1024, 0xf351799f -0, 84, 84, 1, 7541, 0xfdc02154, S=1, 1024, 0xf351799f -0, 85, 85, 1, 7948, 0x916ecd8b, S=1, 1024, 0xf351799f -0, 86, 86, 1, 8408, 0x1f97d414, S=1, 1024, 0xf351799f -0, 87, 87, 1, 8056, 0x9cbf159c, S=1, 1024, 0xf351799f -0, 88, 88, 1, 7401, 0x2625addb, S=1, 1024, 0xf351799f -0, 89, 89, 1, 7494, 0x2877eacb, S=1, 1024, 0xf351799f -0, 90, 90, 1, 7806, 0xe32574a3, S=1, 1024, 0xf351799f -0, 91, 91, 1, 7768, 0x25ed7ee7, S=1, 1024, 0xf351799f -0, 92, 92, 1, 7749, 0x6d8e978e, S=1, 1024, 0xf351799f -0, 93, 93, 1, 8047, 0xec4b150c, S=1, 1024, 0xf351799f -0, 94, 94, 1, 7618, 0x88cf30d5, S=1, 1024, 0xf351799f -0, 95, 95, 1, 7979, 0x0eb1cf2a, S=1, 1024, 0xf351799f -0, 96, 96, 1, 12062, 0xb49d9125, S=1, 1024, 0xf351799f -0, 97, 97, 1, 12317, 0x2d8fd6e9, S=1, 1024, 0xf351799f -0, 98, 98, 1, 12217, 0x9b3be549, S=1, 1024, 0xf351799f -0, 99, 99, 1, 11227, 0x067e9118, S=1, 1024, 0xf351799f -0, 100, 100, 1, 11108, 0x5e5b0afd, S=1, 1024, 0xf351799f -0, 101, 101, 1, 11366, 0xb38e8d15, S=1, 1024, 0xf351799f -0, 102, 102, 1, 11896, 0xeb3e35ca, S=1, 1024, 0xf351799f -0, 103, 103, 1, 11479, 0xbf7581e9, S=1, 1024, 0xf351799f -0, 104, 104, 1, 13395, 0x415b38d8, S=1, 1024, 0xf351799f -0, 105, 105, 1, 12913, 0x61544631, S=1, 1024, 0xf351799f -0, 106, 106, 1, 13864, 0xd39fe768, S=1, 1024, 0xf351799f -0, 107, 107, 1, 13551, 0x76c167d1, S=1, 1024, 0xf351799f -0, 108, 108, 1, 14041, 0x2f206888, S=1, 1024, 0xf351799f -0, 109, 109, 1, 14144, 0x9ec030d3, S=1, 1024, 0xf351799f -0, 110, 110, 1, 14277, 0xa84b3a9b, S=1, 1024, 0xf351799f -0, 111, 111, 1, 14424, 0xf5f1e06e, S=1, 1024, 0xf351799f -0, 112, 112, 1, 14689, 0xbca0adb5, S=1, 1024, 0xf351799f -0, 113, 113, 1, 14598, 0xc1d45745, S=1, 1024, 0xf351799f -0, 114, 114, 1, 15213, 0x8f3080fc, S=1, 1024, 0xf351799f -0, 115, 115, 1, 15425, 0xb0aa8f59, S=1, 1024, 0xf351799f -0, 116, 116, 1, 15595, 0x1406e5d5, S=1, 1024, 0xf351799f -0, 117, 117, 1, 15598, 0x48ec7d08, S=1, 1024, 0xf351799f -0, 118, 118, 1, 15863, 0x5381db7b, S=1, 1024, 0xf351799f -0, 119, 119, 1, 15717, 0xb87a1b87, S=1, 1024, 0xf351799f -0, 120, 120, 1, 16078, 0x5bab2453, S=1, 1024, 0xf351799f -0, 121, 121, 1, 16225, 0xa1f88113, S=1, 1024, 0xf351799f -0, 122, 122, 1, 16135, 0x6af2f4e1, S=1, 1024, 0xf351799f -0, 123, 123, 1, 16661, 0xf02a3343, S=1, 1024, 0xf351799f -0, 124, 124, 1, 16619, 0xc71935a4, S=1, 1024, 0xf351799f -0, 125, 125, 1, 16829, 0x29849844, S=1, 1024, 0xf351799f -0, 126, 126, 1, 16944, 0x3423ae77, S=1, 1024, 0xf351799f -0, 127, 127, 1, 17119, 0x609b4409, S=1, 1024, 0xf351799f -0, 128, 128, 1, 17150, 0xf85dfd31, S=1, 1024, 0xf351799f -0, 129, 129, 1, 17321, 0x38eccb10, S=1, 1024, 0xf351799f -0, 130, 130, 1, 17395, 0x0ba08b85, S=1, 1024, 0xf351799f -0, 131, 131, 1, 17666, 0x6fbc0264, S=1, 1024, 0xf351799f -0, 132, 132, 1, 17730, 0x3dcc64a6, S=1, 1024, 0xf351799f -0, 133, 133, 1, 17934, 0xb539974b, S=1, 1024, 0xf351799f -0, 134, 134, 1, 17944, 0x2214ec94, S=1, 1024, 0xf351799f -0, 135, 135, 1, 18238, 0x70f9ff1d, S=1, 1024, 0xf351799f -0, 136, 136, 1, 18391, 0x4b149209, S=1, 1024, 0xf351799f -0, 137, 137, 1, 18543, 0x45a1c02f, S=1, 1024, 0xf351799f -0, 138, 138, 1, 18939, 0x2789a88c, S=1, 1024, 0xf351799f -0, 139, 139, 1, 19145, 0x5daafd7a, S=1, 1024, 0xf351799f -0, 140, 140, 1, 19120, 0x565f80e6, S=1, 1024, 0xf351799f -0, 141, 141, 1, 19130, 0xff70cc21, S=1, 1024, 0xf351799f -0, 142, 142, 1, 19494, 0xbfa284db, S=1, 1024, 0xf351799f -0, 143, 143, 1, 19534, 0x3d40743b, S=1, 1024, 0xf351799f -0, 144, 144, 1, 19747, 0x33c9b108, S=1, 1024, 0xf351799f -0, 145, 145, 1, 20114, 0x9d223e36, S=1, 1024, 0xf351799f -0, 146, 146, 1, 20257, 0xe7bdaf43, S=1, 1024, 0xf351799f -0, 147, 147, 1, 20370, 0x0c5f1970, S=1, 1024, 0xf351799f -0, 148, 148, 1, 20292, 0x6986d20e, S=1, 1024, 0xf351799f -0, 149, 149, 1, 20491, 0xd88e4c08, S=1, 1024, 0xf351799f -0, 150, 150, 1, 20647, 0x1aefaffc, S=1, 1024, 0xf351799f -0, 151, 151, 1, 20666, 0x43e4aaaa, S=1, 1024, 0xf351799f -0, 152, 152, 1, 21007, 0xa7ca3ef0, S=1, 1024, 0xf351799f -0, 153, 153, 1, 21058, 0x06814351, S=1, 1024, 0xf351799f -0, 154, 154, 1, 21153, 0x3c852b10, S=1, 1024, 0xf351799f -0, 155, 155, 1, 21078, 0x8df15855, S=1, 1024, 0xf351799f -0, 156, 156, 1, 21458, 0xd3a531d6, S=1, 1024, 0xf351799f -0, 157, 157, 1, 21669, 0x88baca53, S=1, 1024, 0xf351799f -0, 158, 158, 1, 21581, 0xd692fa1f, S=1, 1024, 0xf351799f -0, 159, 159, 1, 21654, 0x30fb9061, S=1, 1024, 0xf351799f -0, 160, 160, 1, 21987, 0xe7646d8b, S=1, 1024, 0xf351799f -0, 161, 161, 1, 22205, 0x0fc55b6a, S=1, 1024, 0xf351799f -0, 162, 162, 1, 22475, 0x4bc4c032, S=1, 1024, 0xf351799f -0, 163, 163, 1, 22490, 0x58ca23f6, S=1, 1024, 0xf351799f -0, 164, 164, 1, 22460, 0xf9ceb0ac, S=1, 1024, 0xf351799f -0, 165, 165, 1, 22861, 0xb05f0f84, S=1, 1024, 0xf351799f -0, 166, 166, 1, 22746, 0x0df23a5c, S=1, 1024, 0xf351799f -0, 167, 167, 1, 23165, 0xbd7147ad, S=1, 1024, 0xf351799f -0, 168, 168, 1, 23273, 0x9781a34f, S=1, 1024, 0xf351799f -0, 169, 169, 1, 23211, 0x69c7606b, S=1, 1024, 0xf351799f -0, 170, 170, 1, 23648, 0xdafde037, S=1, 1024, 0xf351799f -0, 171, 171, 1, 23675, 0x2a2147ed, S=1, 1024, 0xf351799f -0, 172, 172, 1, 23874, 0x12c184b6, S=1, 1024, 0xf351799f +0, 0, 0, 1, 552, 0x271a2dd3, S=2, 1024, 0xec907a9e, 1, 0x00010001 +0, 1, 1, 1, 297, 0x90168a95, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 2, 2, 1, 438, 0x91efce1b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 3, 3, 1, 450, 0x7c2dcfad, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 4, 4, 1, 547, 0xc131fd3b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 5, 5, 1, 614, 0x68182006, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 6, 6, 1, 642, 0x78bb1f5f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 7, 7, 1, 660, 0x35c033a2, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 8, 8, 1, 821, 0xaf30790b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 9, 9, 1, 1157, 0x741c2da1, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 10, 10, 1, 179, 0x3a27517c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 11, 11, 1, 1333, 0x5ee76f3c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 12, 12, 1, 1638, 0x5f640e86, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 13, 13, 1, 1531, 0xccb8e437, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 14, 14, 1, 1720, 0xc95d45ec, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 15, 15, 1, 1910, 0x56cc831e, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 16, 16, 1, 2124, 0x9cc8e130, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 17, 17, 1, 2248, 0x05a325b1, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 18, 18, 1, 2311, 0xdc633703, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 19, 19, 1, 2408, 0x91c26f3e, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 20, 20, 1, 2601, 0x8cf3c157, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 21, 21, 1, 2687, 0x8f6400e6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 22, 22, 1, 2784, 0xaa880e55, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 23, 23, 1, 2884, 0x46f546f6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 24, 24, 1, 2982, 0x807c7ad5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 25, 25, 1, 3101, 0xbcc89bec, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 26, 26, 1, 3253, 0xd032f3fa, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 27, 27, 1, 3329, 0xe4d42430, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 28, 28, 1, 3572, 0xf8058aa0, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 29, 29, 1, 3807, 0x3d2af9f3, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 30, 30, 1, 2750, 0x814d1c33, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 31, 31, 1, 4031, 0x3b077006, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 32, 32, 1, 3025, 0x86729c1c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 33, 33, 1, 4295, 0xf71b0b38, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 34, 34, 1, 2044, 0x5adcb93b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 35, 35, 1, 3212, 0xcf79eeed, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 36, 36, 1, 2292, 0xb4386334, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 37, 37, 1, 3633, 0x0010992f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 38, 38, 1, 3552, 0x23697490, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 39, 39, 1, 3690, 0x62afdbb8, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 40, 40, 1, 1559, 0x5baef54a, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 41, 41, 1, 954, 0xca75ca79, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 42, 42, 1, 273, 0x3687799b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 43, 43, 1, 930, 0x29f3b0c4, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 44, 44, 1, 271, 0x305e8094, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 45, 45, 1, 196, 0xf5ab51ee, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 46, 46, 1, 4299, 0x67ec0d55, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 47, 47, 1, 4895, 0xb394406c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 48, 48, 1, 4928, 0x233919d7, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 49, 49, 1, 4941, 0x58a357da, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 50, 50, 1, 4154, 0x21f2ac33, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 51, 51, 1, 4678, 0xab3cc050, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 52, 52, 1, 4741, 0x1974b581, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 53, 53, 1, 4982, 0x891456d5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 54, 54, 1, 5179, 0x860fc6a1, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 55, 55, 1, 5046, 0xce9183d3, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 56, 56, 1, 5140, 0xa6d7b9af, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 57, 57, 1, 4301, 0x03b6ef3f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 58, 58, 1, 5079, 0xa8d59e01, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 59, 59, 1, 5284, 0xea34e3b3, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 60, 60, 1, 5426, 0x556a15cd, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 61, 61, 1, 4645, 0x061e8936, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 62, 62, 1, 5263, 0x7536cf7d, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 63, 63, 1, 5221, 0x9fbac3ca, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 64, 64, 1, 5217, 0x02269bd2, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 65, 65, 1, 5395, 0x120fff66, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 66, 66, 1, 5220, 0x77cedcc5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 67, 67, 1, 5704, 0xba42dd96, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 68, 68, 1, 5636, 0xcb91a25b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 69, 69, 1, 5818, 0x8dc0df92, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 70, 70, 1, 5763, 0x51d5d5f0, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 71, 71, 1, 6116, 0x09558b48, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 72, 72, 1, 6069, 0x41926817, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 73, 73, 1, 5796, 0x7fbeda44, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 74, 74, 1, 5999, 0xe07d3770, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 75, 75, 1, 6220, 0x6607b06f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 76, 76, 1, 6374, 0x7628e533, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 77, 77, 1, 6465, 0xfe956b15, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 78, 78, 1, 7019, 0x6c9a1aef, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 79, 79, 1, 7255, 0x5fa5c1bf, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 80, 80, 1, 8197, 0xf11d6ef2, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 81, 81, 1, 8358, 0x027279e8, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 82, 82, 1, 7708, 0x607f8e8b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 83, 83, 1, 7412, 0x6bb2105f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 84, 84, 1, 7541, 0xfdc02154, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 85, 85, 1, 7948, 0x916ecd8b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 86, 86, 1, 8408, 0x1f97d414, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 87, 87, 1, 8056, 0x9cbf159c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 88, 88, 1, 7401, 0x2625addb, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 89, 89, 1, 7494, 0x2877eacb, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 90, 90, 1, 7806, 0xe32574a3, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 91, 91, 1, 7768, 0x25ed7ee7, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 92, 92, 1, 7749, 0x6d8e978e, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 93, 93, 1, 8047, 0xec4b150c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 94, 94, 1, 7618, 0x88cf30d5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 95, 95, 1, 7979, 0x0eb1cf2a, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 96, 96, 1, 12062, 0xb49d9125, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 97, 97, 1, 12317, 0x2d8fd6e9, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 98, 98, 1, 12217, 0x9b3be549, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 99, 99, 1, 11227, 0x067e9118, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 100, 100, 1, 11108, 0x5e5b0afd, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 101, 101, 1, 11366, 0xb38e8d15, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 102, 102, 1, 11896, 0xeb3e35ca, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 103, 103, 1, 11479, 0xbf7581e9, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 104, 104, 1, 13395, 0x415b38d8, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 105, 105, 1, 12913, 0x61544631, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 106, 106, 1, 13864, 0xd39fe768, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 107, 107, 1, 13551, 0x76c167d1, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 108, 108, 1, 14041, 0x2f206888, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 109, 109, 1, 14144, 0x9ec030d3, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 110, 110, 1, 14277, 0xa84b3a9b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 111, 111, 1, 14424, 0xf5f1e06e, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 112, 112, 1, 14689, 0xbca0adb5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 113, 113, 1, 14598, 0xc1d45745, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 114, 114, 1, 15213, 0x8f3080fc, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 115, 115, 1, 15425, 0xb0aa8f59, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 116, 116, 1, 15595, 0x1406e5d5, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 117, 117, 1, 15598, 0x48ec7d08, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 118, 118, 1, 15863, 0x5381db7b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 119, 119, 1, 15717, 0xb87a1b87, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 120, 120, 1, 16078, 0x5bab2453, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 121, 121, 1, 16225, 0xa1f88113, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 122, 122, 1, 16135, 0x6af2f4e1, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 123, 123, 1, 16661, 0xf02a3343, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 124, 124, 1, 16619, 0xc71935a4, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 125, 125, 1, 16829, 0x29849844, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 126, 126, 1, 16944, 0x3423ae77, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 127, 127, 1, 17119, 0x609b4409, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 128, 128, 1, 17150, 0xf85dfd31, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 129, 129, 1, 17321, 0x38eccb10, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 130, 130, 1, 17395, 0x0ba08b85, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 131, 131, 1, 17666, 0x6fbc0264, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 132, 132, 1, 17730, 0x3dcc64a6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 133, 133, 1, 17934, 0xb539974b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 134, 134, 1, 17944, 0x2214ec94, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 135, 135, 1, 18238, 0x70f9ff1d, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 136, 136, 1, 18391, 0x4b149209, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 137, 137, 1, 18543, 0x45a1c02f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 138, 138, 1, 18939, 0x2789a88c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 139, 139, 1, 19145, 0x5daafd7a, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 140, 140, 1, 19120, 0x565f80e6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 141, 141, 1, 19130, 0xff70cc21, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 142, 142, 1, 19494, 0xbfa284db, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 143, 143, 1, 19534, 0x3d40743b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 144, 144, 1, 19747, 0x33c9b108, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 145, 145, 1, 20114, 0x9d223e36, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 146, 146, 1, 20257, 0xe7bdaf43, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 147, 147, 1, 20370, 0x0c5f1970, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 148, 148, 1, 20292, 0x6986d20e, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 149, 149, 1, 20491, 0xd88e4c08, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 150, 150, 1, 20647, 0x1aefaffc, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 151, 151, 1, 20666, 0x43e4aaaa, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 152, 152, 1, 21007, 0xa7ca3ef0, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 153, 153, 1, 21058, 0x06814351, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 154, 154, 1, 21153, 0x3c852b10, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 155, 155, 1, 21078, 0x8df15855, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 156, 156, 1, 21458, 0xd3a531d6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 157, 157, 1, 21669, 0x88baca53, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 158, 158, 1, 21581, 0xd692fa1f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 159, 159, 1, 21654, 0x30fb9061, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 160, 160, 1, 21987, 0xe7646d8b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 161, 161, 1, 22205, 0x0fc55b6a, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 162, 162, 1, 22475, 0x4bc4c032, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 163, 163, 1, 22490, 0x58ca23f6, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 164, 164, 1, 22460, 0xf9ceb0ac, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 165, 165, 1, 22861, 0xb05f0f84, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 166, 166, 1, 22746, 0x0df23a5c, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 167, 167, 1, 23165, 0xbd7147ad, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 168, 168, 1, 23273, 0x9781a34f, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 169, 169, 1, 23211, 0x69c7606b, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 170, 170, 1, 23648, 0xdafde037, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 171, 171, 1, 23675, 0x2a2147ed, S=2, 1024, 0xf351799f, 1, 0x00010001 +0, 172, 172, 1, 23874, 0x12c184b6, S=2, 1024, 0xf351799f, 1, 0x00010001 diff --git a/tests/ref/fate/gifenc-rgb4_byte b/tests/ref/fate/gifenc-rgb4_byte index 067accd694e53..4377312b77fc3 100644 --- a/tests/ref/fate/gifenc-rgb4_byte +++ b/tests/ref/fate/gifenc-rgb4_byte @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 508, 0xf04a113b -0, 1, 1, 1, 213, 0x23c24d3d, S=1, 1024, 0xf7700427 -0, 2, 2, 1, 131, 0x56d22a39, S=1, 1024, 0x03730427 -0, 3, 3, 1, 384, 0xb1d8a4bd, S=1, 1024, 0xf7700427 -0, 4, 4, 1, 381, 0x37a3a2c9, S=1, 1024, 0xf3740427 -0, 5, 5, 1, 430, 0x162bb3d3, S=1, 1024, 0xf3740427 -0, 6, 6, 1, 518, 0x195bd738, S=1, 1024, 0xf3740427 -0, 7, 7, 1, 535, 0x12cde6b7, S=1, 1024, 0xf3740427 -0, 8, 8, 1, 438, 0xa653b946, S=1, 1024, 0x0b6b0427 -0, 9, 9, 1, 923, 0xd2e2a35f, S=1, 1024, 0x0b6b0427 -0, 10, 10, 1, 694, 0xe1cf4a1f, S=1, 1024, 0x0b6b0427 -0, 11, 11, 1, 1194, 0xa6152c8a, S=1, 1024, 0x0b6b0427 -0, 12, 12, 1, 1291, 0x94d25581, S=1, 1024, 0x0b6b0427 -0, 13, 13, 1, 1245, 0x5b483525, S=1, 1024, 0x0b6b0427 -0, 14, 14, 1, 1330, 0xfb5351c8, S=1, 1024, 0x0b6b0427 -0, 15, 15, 1, 1276, 0x6f403914, S=1, 1024, 0x0b6b0427 -0, 16, 16, 1, 1475, 0xbf459755, S=1, 1024, 0x0b6b0427 -0, 17, 17, 1, 1784, 0xe9954aa7, S=1, 1024, 0xecb30526 -0, 18, 18, 1, 1675, 0x219dfaf8, S=1, 1024, 0xecb30526 -0, 19, 19, 1, 1509, 0xd7f5abbe, S=1, 1024, 0xecb30526 -0, 20, 20, 1, 1705, 0x44a01729, S=1, 1024, 0xecb30526 -0, 21, 21, 1, 1745, 0x31ff1f89, S=1, 1024, 0xecb30526 -0, 22, 22, 1, 1642, 0x55420147, S=1, 1024, 0xecb30526 -0, 23, 23, 1, 1718, 0x68ef1cb8, S=1, 1024, 0xecb30526 -0, 24, 24, 1, 1900, 0xd7737a09, S=1, 1024, 0xecb30526 -0, 25, 25, 1, 1807, 0x4f6c5140, S=1, 1024, 0xecb30526 -0, 26, 26, 1, 1915, 0x976d80e6, S=1, 1024, 0xecb30526 -0, 27, 27, 1, 2100, 0x0ae6d1ce, S=1, 1024, 0xecb30526 -0, 28, 28, 1, 2700, 0x7a89f104, S=1, 1024, 0xecb30526 -0, 29, 29, 1, 2673, 0xf6b6a71d, S=1, 1024, 0xecb30526 -0, 30, 30, 1, 2895, 0x9079484b, S=1, 1024, 0xecb30526 -0, 31, 31, 1, 3257, 0x0b0cd125, S=1, 1024, 0xecb30526 -0, 32, 32, 1, 3179, 0x3ee2c161, S=1, 1024, 0xecb30526 -0, 33, 33, 1, 3296, 0x6230e506, S=1, 1024, 0xecb30526 -0, 34, 34, 1, 3600, 0x021775d7, S=1, 1024, 0xecb30526 -0, 35, 35, 1, 3699, 0xfb03a043, S=1, 1024, 0xecb30526 -0, 36, 36, 1, 3814, 0x96a8d57e, S=1, 1024, 0xecb30526 -0, 37, 37, 1, 3627, 0x33a37f8f, S=1, 1024, 0xecb30526 -0, 38, 38, 1, 2950, 0x50806197, S=1, 1024, 0xecb30526 -0, 39, 39, 1, 3086, 0x72068d4c, S=1, 1024, 0xecb30526 -0, 40, 40, 1, 3094, 0x2880861f, S=1, 1024, 0xecb30526 -0, 41, 41, 1, 3456, 0x6d232a96, S=1, 1024, 0xecb30526 -0, 42, 42, 1, 4108, 0x46d75ebb, S=1, 1024, 0xecb30526 -0, 43, 43, 1, 4217, 0x04a258f4, S=1, 1024, 0xecb30526 -0, 44, 44, 1, 3613, 0x667f4ff8, S=1, 1024, 0xecb30526 -0, 45, 45, 1, 3910, 0x8f37e73e, S=1, 1024, 0xecb30526 -0, 46, 46, 1, 4461, 0x5db9e0bf, S=1, 1024, 0xecb30526 -0, 47, 47, 1, 4593, 0x883f2f49, S=1, 1024, 0xecb30526 -0, 48, 48, 1, 4822, 0x03d99b73, S=1, 1024, 0xecb30526 -0, 49, 49, 1, 5398, 0x39f7bff4, S=1, 1024, 0xecb30526 -0, 50, 50, 1, 5266, 0xd5ab9630, S=1, 1024, 0xecb30526 -0, 51, 51, 1, 5416, 0x5876e16f, S=1, 1024, 0xecb30526 -0, 52, 52, 1, 5519, 0x30ed05d8, S=1, 1024, 0xecb30526 -0, 53, 53, 1, 5701, 0x5bae5af7, S=1, 1024, 0xecb30526 -0, 54, 54, 1, 6160, 0x98364177, S=1, 1024, 0xecb30526 -0, 55, 55, 1, 6233, 0x52a05075, S=1, 1024, 0xecb30526 -0, 56, 56, 1, 5911, 0x04bfc46a, S=1, 1024, 0xecb30526 -0, 57, 57, 1, 5997, 0xf1e6f586, S=1, 1024, 0xecb30526 -0, 58, 58, 1, 5946, 0xe6f3f055, S=1, 1024, 0xecb30526 -0, 59, 59, 1, 6468, 0xc8a3cf61, S=1, 1024, 0xecb30526 -0, 60, 60, 1, 6737, 0xc27b3b79, S=1, 1024, 0xecb30526 -0, 61, 61, 1, 6275, 0x84d88e2b, S=1, 1024, 0xecb30526 -0, 62, 62, 1, 6641, 0xb44b3534, S=1, 1024, 0xecb30526 -0, 63, 63, 1, 6378, 0x3965888b, S=1, 1024, 0xecb30526 -0, 64, 64, 1, 6257, 0x12115750, S=1, 1024, 0xecb30526 -0, 65, 65, 1, 6908, 0x57137217, S=1, 1024, 0xecb30526 -0, 66, 66, 1, 7230, 0xbacc24ee, S=1, 1024, 0xecb30526 -0, 67, 67, 1, 7556, 0x1aa2a694, S=1, 1024, 0xecb30526 -0, 68, 68, 1, 7413, 0xbc9e7718, S=1, 1024, 0xecb30526 -0, 69, 69, 1, 7476, 0xb2a1aba0, S=1, 1024, 0xecb30526 -0, 70, 70, 1, 7596, 0x3301e56d, S=1, 1024, 0xecb30526 -0, 71, 71, 1, 7756, 0x8f2504f8, S=1, 1024, 0xecb30526 -0, 72, 72, 1, 8015, 0xd4146c80, S=1, 1024, 0xecb30526 -0, 73, 73, 1, 8128, 0x11b2bf4c, S=1, 1024, 0xecb30526 -0, 74, 74, 1, 8101, 0xc627adbe, S=1, 1024, 0xecb30526 -0, 75, 75, 1, 7863, 0xe99f3f3b, S=1, 1024, 0xecb30526 -0, 76, 76, 1, 7960, 0x4bc091b8, S=1, 1024, 0xecb30526 -0, 77, 77, 1, 8238, 0x1086ea8a, S=1, 1024, 0xecb30526 -0, 78, 78, 1, 8321, 0x3a404791, S=1, 1024, 0xecb30526 -0, 79, 79, 1, 8562, 0xcbdcc01e, S=1, 1024, 0xecb30526 -0, 80, 80, 1, 8746, 0xec190b22, S=1, 1024, 0xecb30526 -0, 81, 81, 1, 8578, 0x12e7a4e8, S=1, 1024, 0xecb30526 -0, 82, 82, 1, 8878, 0x51c05771, S=1, 1024, 0xecb30526 -0, 83, 83, 1, 9077, 0xe12b589b, S=1, 1024, 0xecb30526 -0, 84, 84, 1, 9310, 0xde3bf881, S=1, 1024, 0xecb30526 -0, 85, 85, 1, 9394, 0x1eba46cc, S=1, 1024, 0xecb30526 -0, 86, 86, 1, 9161, 0x7c359911, S=1, 1024, 0xecb30526 -0, 87, 87, 1, 9462, 0xccda3664, S=1, 1024, 0xecb30526 -0, 88, 88, 1, 9650, 0x6e6292fc, S=1, 1024, 0xecb30526 -0, 89, 89, 1, 9701, 0x08909b95, S=1, 1024, 0xecb30526 -0, 90, 90, 1, 9523, 0xe61b38bb, S=1, 1024, 0xecb30526 -0, 91, 91, 1, 9891, 0x96b90b98, S=1, 1024, 0xecb30526 -0, 92, 92, 1, 10005, 0x2db84c80, S=1, 1024, 0xecb30526 -0, 93, 93, 1, 10038, 0x37e52a72, S=1, 1024, 0xecb30526 -0, 94, 94, 1, 10086, 0x135a43e4, S=1, 1024, 0xecb30526 -0, 95, 95, 1, 10438, 0x472c0372, S=1, 1024, 0xecb30526 -0, 96, 96, 1, 10583, 0xcf4c5862, S=1, 1024, 0xecb30526 -0, 97, 97, 1, 10581, 0xce658137, S=1, 1024, 0xecb30526 -0, 98, 98, 1, 10807, 0x3954dad9, S=1, 1024, 0xecb30526 -0, 99, 99, 1, 11111, 0x5f8d504f, S=1, 1024, 0xecb30526 -0, 100, 100, 1, 11194, 0x3c7e6a77, S=1, 1024, 0xecb30526 -0, 101, 101, 1, 11240, 0x5112a0a3, S=1, 1024, 0xecb30526 -0, 102, 102, 1, 11483, 0xaf10f4fa, S=1, 1024, 0xecb30526 -0, 103, 103, 1, 11680, 0x44a25971, S=1, 1024, 0xecb30526 -0, 104, 104, 1, 11785, 0x7350b5db, S=1, 1024, 0xecb30526 -0, 105, 105, 1, 11436, 0xe3170ad5, S=1, 1024, 0xecb30526 -0, 106, 106, 1, 11928, 0x13d8c885, S=1, 1024, 0xecb30526 -0, 107, 107, 1, 11932, 0xecb5bdf7, S=1, 1024, 0xecb30526 -0, 108, 108, 1, 12281, 0x18bb76d5, S=1, 1024, 0xecb30526 -0, 109, 109, 1, 12334, 0x16147fc3, S=1, 1024, 0xecb30526 -0, 110, 110, 1, 12452, 0x61a8b3d7, S=1, 1024, 0xecb30526 -0, 111, 111, 1, 12695, 0x8b703e74, S=1, 1024, 0xecb30526 -0, 112, 112, 1, 12668, 0x19505176, S=1, 1024, 0xecb30526 -0, 113, 113, 1, 12957, 0x3b839f0d, S=1, 1024, 0xecb30526 -0, 114, 114, 1, 13054, 0xb8a5e3db, S=1, 1024, 0xecb30526 -0, 115, 115, 1, 13147, 0xdf5c2e68, S=1, 1024, 0xecb30526 -0, 116, 116, 1, 13171, 0x15961ca2, S=1, 1024, 0xecb30526 -0, 117, 117, 1, 13198, 0xfd855718, S=1, 1024, 0xecb30526 -0, 118, 118, 1, 13211, 0x1a625e31, S=1, 1024, 0xecb30526 -0, 119, 119, 1, 13210, 0x246661c9, S=1, 1024, 0xecb30526 -0, 120, 120, 1, 13467, 0xfcaaa461, S=1, 1024, 0xecb30526 -0, 121, 121, 1, 13665, 0x8100dbf2, S=1, 1024, 0xecb30526 -0, 122, 122, 1, 13692, 0xddd1eab9, S=1, 1024, 0xecb30526 -0, 123, 123, 1, 13821, 0xc70e2af0, S=1, 1024, 0xecb30526 -0, 124, 124, 1, 13946, 0xe15d9134, S=1, 1024, 0xecb30526 -0, 125, 125, 1, 14063, 0xf652d232, S=1, 1024, 0xecb30526 -0, 126, 126, 1, 14124, 0x756ccc81, S=1, 1024, 0xecb30526 -0, 127, 127, 1, 14331, 0x56d64fe8, S=1, 1024, 0xecb30526 -0, 128, 128, 1, 14469, 0x4c3faa7f, S=1, 1024, 0xecb30526 -0, 129, 129, 1, 14536, 0xad02a19b, S=1, 1024, 0xecb30526 -0, 130, 130, 1, 14608, 0x0971d168, S=1, 1024, 0xecb30526 -0, 131, 131, 1, 14898, 0x1a6827b3, S=1, 1024, 0xecb30526 -0, 132, 132, 1, 14978, 0xf9709fef, S=1, 1024, 0xecb30526 -0, 133, 133, 1, 15142, 0x3598da63, S=1, 1024, 0xecb30526 -0, 134, 134, 1, 15129, 0x062fb976, S=1, 1024, 0xecb30526 -0, 135, 135, 1, 15243, 0x0a6a12f9, S=1, 1024, 0xecb30526 -0, 136, 136, 1, 15337, 0x0f9a65d6, S=1, 1024, 0xecb30526 -0, 137, 137, 1, 15638, 0xf7bc9ef5, S=1, 1024, 0xecb30526 -0, 138, 138, 1, 15912, 0x2d5b26bb, S=1, 1024, 0xecb30526 -0, 139, 139, 1, 16041, 0xbfaf4857, S=1, 1024, 0xecb30526 -0, 140, 140, 1, 16228, 0xdac701f0, S=1, 1024, 0xecb30526 -0, 141, 141, 1, 16262, 0xcd0ae5e4, S=1, 1024, 0xecb30526 -0, 142, 142, 1, 16371, 0x9d4f0e73, S=1, 1024, 0xecb30526 -0, 143, 143, 1, 16661, 0xd37ba990, S=1, 1024, 0xecb30526 -0, 144, 144, 1, 16917, 0xd5b01774, S=1, 1024, 0xecb30526 -0, 145, 145, 1, 17149, 0x435ecdd4, S=1, 1024, 0xecb30526 -0, 146, 146, 1, 17172, 0x045fb234, S=1, 1024, 0xecb30526 -0, 147, 147, 1, 17315, 0xc5ddadab, S=1, 1024, 0xecb30526 -0, 148, 148, 1, 17397, 0xff8e15b6, S=1, 1024, 0xecb30526 -0, 149, 149, 1, 17431, 0x6832f8c0, S=1, 1024, 0xecb30526 -0, 150, 150, 1, 17576, 0x5c2a5445, S=1, 1024, 0xecb30526 -0, 151, 151, 1, 17764, 0x609f8c3b, S=1, 1024, 0xecb30526 -0, 152, 152, 1, 17826, 0x538c8532, S=1, 1024, 0xecb30526 -0, 153, 153, 1, 17918, 0x84fc9a95, S=1, 1024, 0xecb30526 -0, 154, 154, 1, 17823, 0x788fbada, S=1, 1024, 0xecb30526 -0, 155, 155, 1, 18142, 0x56881e47, S=1, 1024, 0xecb30526 -0, 156, 156, 1, 18257, 0xa35b86cf, S=1, 1024, 0xecb30526 -0, 157, 157, 1, 18337, 0x82ddbc21, S=1, 1024, 0xecb30526 -0, 158, 158, 1, 18293, 0xf0d838d6, S=1, 1024, 0xecb30526 -0, 159, 159, 1, 18418, 0x7ed8bba6, S=1, 1024, 0xecb30526 -0, 160, 160, 1, 18607, 0xccea47f6, S=1, 1024, 0xecb30526 -0, 161, 161, 1, 18916, 0x880ebd63, S=1, 1024, 0xecb30526 -0, 162, 162, 1, 19073, 0x055f02e3, S=1, 1024, 0xecb30526 -0, 163, 163, 1, 19168, 0xcc2c02d7, S=1, 1024, 0xecb30526 -0, 164, 164, 1, 19210, 0xa538ffc1, S=1, 1024, 0xecb30526 -0, 165, 165, 1, 19398, 0x4777644d, S=1, 1024, 0xecb30526 -0, 166, 166, 1, 19480, 0xcb2aa0fa, S=1, 1024, 0xecb30526 -0, 167, 167, 1, 19659, 0xe3c1122d, S=1, 1024, 0xecb30526 -0, 168, 168, 1, 19672, 0x1d1e193f, S=1, 1024, 0xecb30526 -0, 169, 169, 1, 19936, 0xcd036346, S=1, 1024, 0xecb30526 -0, 170, 170, 1, 19975, 0x96529b21, S=1, 1024, 0xecb30526 -0, 171, 171, 1, 20021, 0xcdaf8bb5, S=1, 1024, 0xecb30526 -0, 172, 172, 1, 20060, 0x1cea7784, S=1, 1024, 0xecb30526 +0, 0, 0, 1, 508, 0xf04a113b, S=1, 1, 0x00010001 +0, 1, 1, 1, 213, 0x23c24d3d, S=2, 1, 0x00010001, 1024, 0xf7700427 +0, 2, 2, 1, 131, 0x56d22a39, S=2, 1, 0x00010001, 1024, 0x03730427 +0, 3, 3, 1, 384, 0xb1d8a4bd, S=2, 1, 0x00010001, 1024, 0xf7700427 +0, 4, 4, 1, 381, 0x37a3a2c9, S=2, 1, 0x00010001, 1024, 0xf3740427 +0, 5, 5, 1, 430, 0x162bb3d3, S=2, 1, 0x00010001, 1024, 0xf3740427 +0, 6, 6, 1, 518, 0x195bd738, S=2, 1, 0x00010001, 1024, 0xf3740427 +0, 7, 7, 1, 535, 0x12cde6b7, S=2, 1, 0x00010001, 1024, 0xf3740427 +0, 8, 8, 1, 438, 0xa653b946, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 9, 9, 1, 923, 0xd2e2a35f, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 10, 10, 1, 694, 0xe1cf4a1f, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 11, 11, 1, 1194, 0xa6152c8a, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 12, 12, 1, 1291, 0x94d25581, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 13, 13, 1, 1245, 0x5b483525, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 14, 14, 1, 1330, 0xfb5351c8, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 15, 15, 1, 1276, 0x6f403914, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 16, 16, 1, 1475, 0xbf459755, S=2, 1, 0x00010001, 1024, 0x0b6b0427 +0, 17, 17, 1, 1784, 0xe9954aa7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 18, 18, 1, 1675, 0x219dfaf8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 19, 19, 1, 1509, 0xd7f5abbe, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 20, 20, 1, 1705, 0x44a01729, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 21, 21, 1, 1745, 0x31ff1f89, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 22, 22, 1, 1642, 0x55420147, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 23, 23, 1, 1718, 0x68ef1cb8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 24, 24, 1, 1900, 0xd7737a09, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 25, 25, 1, 1807, 0x4f6c5140, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 26, 26, 1, 1915, 0x976d80e6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 27, 27, 1, 2100, 0x0ae6d1ce, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 28, 28, 1, 2700, 0x7a89f104, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 29, 29, 1, 2673, 0xf6b6a71d, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 30, 30, 1, 2895, 0x9079484b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 31, 31, 1, 3257, 0x0b0cd125, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 32, 32, 1, 3179, 0x3ee2c161, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 33, 33, 1, 3296, 0x6230e506, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 34, 34, 1, 3600, 0x021775d7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 35, 35, 1, 3699, 0xfb03a043, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 36, 36, 1, 3814, 0x96a8d57e, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 37, 37, 1, 3627, 0x33a37f8f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 38, 38, 1, 2950, 0x50806197, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 39, 39, 1, 3086, 0x72068d4c, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 40, 40, 1, 3094, 0x2880861f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 41, 41, 1, 3456, 0x6d232a96, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 42, 42, 1, 4108, 0x46d75ebb, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 43, 43, 1, 4217, 0x04a258f4, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 44, 44, 1, 3613, 0x667f4ff8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 45, 45, 1, 3910, 0x8f37e73e, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 46, 46, 1, 4461, 0x5db9e0bf, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 47, 47, 1, 4593, 0x883f2f49, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 48, 48, 1, 4822, 0x03d99b73, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 49, 49, 1, 5398, 0x39f7bff4, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 50, 50, 1, 5266, 0xd5ab9630, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 51, 51, 1, 5416, 0x5876e16f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 52, 52, 1, 5519, 0x30ed05d8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 53, 53, 1, 5701, 0x5bae5af7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 54, 54, 1, 6160, 0x98364177, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 55, 55, 1, 6233, 0x52a05075, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 56, 56, 1, 5911, 0x04bfc46a, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 57, 57, 1, 5997, 0xf1e6f586, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 58, 58, 1, 5946, 0xe6f3f055, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 59, 59, 1, 6468, 0xc8a3cf61, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 60, 60, 1, 6737, 0xc27b3b79, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 61, 61, 1, 6275, 0x84d88e2b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 62, 62, 1, 6641, 0xb44b3534, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 63, 63, 1, 6378, 0x3965888b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 64, 64, 1, 6257, 0x12115750, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 65, 65, 1, 6908, 0x57137217, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 66, 66, 1, 7230, 0xbacc24ee, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 67, 67, 1, 7556, 0x1aa2a694, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 68, 68, 1, 7413, 0xbc9e7718, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 69, 69, 1, 7476, 0xb2a1aba0, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 70, 70, 1, 7596, 0x3301e56d, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 71, 71, 1, 7756, 0x8f2504f8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 72, 72, 1, 8015, 0xd4146c80, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 73, 73, 1, 8128, 0x11b2bf4c, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 74, 74, 1, 8101, 0xc627adbe, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 75, 75, 1, 7863, 0xe99f3f3b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 76, 76, 1, 7960, 0x4bc091b8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 77, 77, 1, 8238, 0x1086ea8a, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 78, 78, 1, 8321, 0x3a404791, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 79, 79, 1, 8562, 0xcbdcc01e, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 80, 80, 1, 8746, 0xec190b22, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 81, 81, 1, 8578, 0x12e7a4e8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 82, 82, 1, 8878, 0x51c05771, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 83, 83, 1, 9077, 0xe12b589b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 84, 84, 1, 9310, 0xde3bf881, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 85, 85, 1, 9394, 0x1eba46cc, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 86, 86, 1, 9161, 0x7c359911, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 87, 87, 1, 9462, 0xccda3664, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 88, 88, 1, 9650, 0x6e6292fc, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 89, 89, 1, 9701, 0x08909b95, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 90, 90, 1, 9523, 0xe61b38bb, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 91, 91, 1, 9891, 0x96b90b98, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 92, 92, 1, 10005, 0x2db84c80, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 93, 93, 1, 10038, 0x37e52a72, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 94, 94, 1, 10086, 0x135a43e4, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 95, 95, 1, 10438, 0x472c0372, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 96, 96, 1, 10583, 0xcf4c5862, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 97, 97, 1, 10581, 0xce658137, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 98, 98, 1, 10807, 0x3954dad9, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 99, 99, 1, 11111, 0x5f8d504f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 100, 100, 1, 11194, 0x3c7e6a77, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 101, 101, 1, 11240, 0x5112a0a3, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 102, 102, 1, 11483, 0xaf10f4fa, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 103, 103, 1, 11680, 0x44a25971, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 104, 104, 1, 11785, 0x7350b5db, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 105, 105, 1, 11436, 0xe3170ad5, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 106, 106, 1, 11928, 0x13d8c885, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 107, 107, 1, 11932, 0xecb5bdf7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 108, 108, 1, 12281, 0x18bb76d5, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 109, 109, 1, 12334, 0x16147fc3, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 110, 110, 1, 12452, 0x61a8b3d7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 111, 111, 1, 12695, 0x8b703e74, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 112, 112, 1, 12668, 0x19505176, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 113, 113, 1, 12957, 0x3b839f0d, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 114, 114, 1, 13054, 0xb8a5e3db, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 115, 115, 1, 13147, 0xdf5c2e68, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 116, 116, 1, 13171, 0x15961ca2, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 117, 117, 1, 13198, 0xfd855718, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 118, 118, 1, 13211, 0x1a625e31, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 119, 119, 1, 13210, 0x246661c9, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 120, 120, 1, 13467, 0xfcaaa461, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 121, 121, 1, 13665, 0x8100dbf2, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 122, 122, 1, 13692, 0xddd1eab9, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 123, 123, 1, 13821, 0xc70e2af0, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 124, 124, 1, 13946, 0xe15d9134, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 125, 125, 1, 14063, 0xf652d232, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 126, 126, 1, 14124, 0x756ccc81, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 127, 127, 1, 14331, 0x56d64fe8, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 128, 128, 1, 14469, 0x4c3faa7f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 129, 129, 1, 14536, 0xad02a19b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 130, 130, 1, 14608, 0x0971d168, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 131, 131, 1, 14898, 0x1a6827b3, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 132, 132, 1, 14978, 0xf9709fef, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 133, 133, 1, 15142, 0x3598da63, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 134, 134, 1, 15129, 0x062fb976, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 135, 135, 1, 15243, 0x0a6a12f9, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 136, 136, 1, 15337, 0x0f9a65d6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 137, 137, 1, 15638, 0xf7bc9ef5, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 138, 138, 1, 15912, 0x2d5b26bb, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 139, 139, 1, 16041, 0xbfaf4857, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 140, 140, 1, 16228, 0xdac701f0, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 141, 141, 1, 16262, 0xcd0ae5e4, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 142, 142, 1, 16371, 0x9d4f0e73, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 143, 143, 1, 16661, 0xd37ba990, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 144, 144, 1, 16917, 0xd5b01774, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 145, 145, 1, 17149, 0x435ecdd4, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 146, 146, 1, 17172, 0x045fb234, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 147, 147, 1, 17315, 0xc5ddadab, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 148, 148, 1, 17397, 0xff8e15b6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 149, 149, 1, 17431, 0x6832f8c0, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 150, 150, 1, 17576, 0x5c2a5445, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 151, 151, 1, 17764, 0x609f8c3b, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 152, 152, 1, 17826, 0x538c8532, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 153, 153, 1, 17918, 0x84fc9a95, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 154, 154, 1, 17823, 0x788fbada, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 155, 155, 1, 18142, 0x56881e47, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 156, 156, 1, 18257, 0xa35b86cf, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 157, 157, 1, 18337, 0x82ddbc21, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 158, 158, 1, 18293, 0xf0d838d6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 159, 159, 1, 18418, 0x7ed8bba6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 160, 160, 1, 18607, 0xccea47f6, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 161, 161, 1, 18916, 0x880ebd63, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 162, 162, 1, 19073, 0x055f02e3, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 163, 163, 1, 19168, 0xcc2c02d7, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 164, 164, 1, 19210, 0xa538ffc1, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 165, 165, 1, 19398, 0x4777644d, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 166, 166, 1, 19480, 0xcb2aa0fa, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 167, 167, 1, 19659, 0xe3c1122d, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 168, 168, 1, 19672, 0x1d1e193f, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 169, 169, 1, 19936, 0xcd036346, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 170, 170, 1, 19975, 0x96529b21, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 171, 171, 1, 20021, 0xcdaf8bb5, S=2, 1, 0x00010001, 1024, 0xecb30526 +0, 172, 172, 1, 20060, 0x1cea7784, S=2, 1, 0x00010001, 1024, 0xecb30526 diff --git a/tests/ref/fate/gifenc-rgb8 b/tests/ref/fate/gifenc-rgb8 index 490e4d0b19e18..40e7a39b60e22 100644 --- a/tests/ref/fate/gifenc-rgb8 +++ b/tests/ref/fate/gifenc-rgb8 @@ -3,176 +3,176 @@ #codec_id 0: gif #dimensions 0: 217x217 #sar 0: 0/1 -0, 0, 0, 1, 552, 0x47602c6c -0, 1, 1, 1, 297, 0x49dd8847, S=1, 1024, 0xcfc8799f -0, 2, 2, 1, 438, 0x4776d352, S=1, 1024, 0xcfc8799f -0, 3, 3, 1, 450, 0x2254d187, S=1, 1024, 0xcfc8799f -0, 4, 4, 1, 547, 0xe16104bc, S=1, 1024, 0xcfc8799f -0, 5, 5, 1, 614, 0x0fdc2027, S=1, 1024, 0xcfc8799f -0, 6, 6, 1, 642, 0xa0af1edf, S=1, 1024, 0xcfc8799f -0, 7, 7, 1, 660, 0xd0763931, S=1, 1024, 0xcfc8799f -0, 8, 8, 1, 821, 0xc38f7fac, S=1, 1024, 0xcfc8799f -0, 9, 9, 1, 1157, 0x4c112ecd, S=1, 1024, 0xcfc8799f -0, 10, 10, 1, 179, 0x0690541c, S=1, 1024, 0xcfc8799f -0, 11, 11, 1, 1333, 0x216f70a7, S=1, 1024, 0xcfc8799f -0, 12, 12, 1, 1638, 0x901c093d, S=1, 1024, 0xcfc8799f -0, 13, 13, 1, 1531, 0xc9bae5ff, S=1, 1024, 0xcfc8799f -0, 14, 14, 1, 1720, 0xce854743, S=1, 1024, 0xcfc8799f -0, 15, 15, 1, 1910, 0x2690866d, S=1, 1024, 0xcfc8799f -0, 16, 16, 1, 2124, 0xa586dad0, S=1, 1024, 0xcfc8799f -0, 17, 17, 1, 2248, 0x9ddc2a88, S=1, 1024, 0xcfc8799f -0, 18, 18, 1, 2311, 0xd64235af, S=1, 1024, 0xcfc8799f -0, 19, 19, 1, 2408, 0xe2a66cc9, S=1, 1024, 0xcfc8799f -0, 20, 20, 1, 2601, 0xeab6c267, S=1, 1024, 0xcfc8799f -0, 21, 21, 1, 2687, 0xfe1d0311, S=1, 1024, 0xcfc8799f -0, 22, 22, 1, 2784, 0xca600dee, S=1, 1024, 0xcfc8799f -0, 23, 23, 1, 2884, 0xc7134b99, S=1, 1024, 0xcfc8799f -0, 24, 24, 1, 2982, 0x0b1e7825, S=1, 1024, 0xcfc8799f -0, 25, 25, 1, 3101, 0x3e029e0e, S=1, 1024, 0xcfc8799f -0, 26, 26, 1, 3253, 0x846af678, S=1, 1024, 0xcfc8799f -0, 27, 27, 1, 3329, 0x29a81b71, S=1, 1024, 0xcfc8799f -0, 28, 28, 1, 3572, 0xa3e08a52, S=1, 1024, 0xcfc8799f -0, 29, 29, 1, 3807, 0x18e1fed2, S=1, 1024, 0xcfc8799f -0, 30, 30, 1, 2750, 0xff6e1f9e, S=1, 1024, 0xcfc8799f -0, 31, 31, 1, 4031, 0x6d4f7329, S=1, 1024, 0xcfc8799f -0, 32, 32, 1, 3025, 0xb43c9e94, S=1, 1024, 0xcfc8799f -0, 33, 33, 1, 4295, 0xc1850a80, S=1, 1024, 0xcfc8799f -0, 34, 34, 1, 2044, 0x0440c072, S=1, 1024, 0xcfc8799f -0, 35, 35, 1, 3212, 0xe91af08f, S=1, 1024, 0xcfc8799f -0, 36, 36, 1, 2292, 0x6765633e, S=1, 1024, 0xcfc8799f -0, 37, 37, 1, 3633, 0xac779aa3, S=1, 1024, 0xcfc8799f -0, 38, 38, 1, 3552, 0xed2c75b2, S=1, 1024, 0xcfc8799f -0, 39, 39, 1, 3690, 0x2020dd0d, S=1, 1024, 0xcfc8799f -0, 40, 40, 1, 1559, 0x596ef330, S=1, 1024, 0xcfc8799f -0, 41, 41, 1, 954, 0xac12c9c5, S=1, 1024, 0xcfc8799f -0, 42, 42, 1, 273, 0x138c7831, S=1, 1024, 0xcfc8799f -0, 43, 43, 1, 930, 0xf1c3ae3f, S=1, 1024, 0xcfc8799f -0, 44, 44, 1, 271, 0x921a80af, S=1, 1024, 0xcfc8799f -0, 45, 45, 1, 196, 0xa5de5322, S=1, 1024, 0xcfc8799f -0, 46, 46, 1, 4299, 0x5bac0d86, S=1, 1024, 0xcfc8799f -0, 47, 47, 1, 4895, 0xc43639a6, S=1, 1024, 0xcfc8799f -0, 48, 48, 1, 4928, 0xf17d13e8, S=1, 1024, 0xcfc8799f -0, 49, 49, 1, 4941, 0x71915520, S=1, 1024, 0xcfc8799f -0, 50, 50, 1, 4154, 0xc860b8a6, S=1, 1024, 0xcfc8799f -0, 51, 51, 1, 4678, 0x2651c339, S=1, 1024, 0xcfc8799f -0, 52, 52, 1, 4741, 0xffd6bb45, S=1, 1024, 0xcfc8799f -0, 53, 53, 1, 4982, 0x132c5977, S=1, 1024, 0xcfc8799f -0, 54, 54, 1, 5179, 0x97aac3a1, S=1, 1024, 0xcfc8799f -0, 55, 55, 1, 5046, 0x836a80cd, S=1, 1024, 0xcfc8799f -0, 56, 56, 1, 5140, 0xa725c1e7, S=1, 1024, 0xcfc8799f -0, 57, 57, 1, 4301, 0x0203f239, S=1, 1024, 0xcfc8799f -0, 58, 58, 1, 5079, 0xb2e7a2de, S=1, 1024, 0xcfc8799f -0, 59, 59, 1, 5284, 0xb757dfe1, S=1, 1024, 0xcfc8799f -0, 60, 60, 1, 5426, 0xf9f11e57, S=1, 1024, 0xcfc8799f -0, 61, 61, 1, 4645, 0xf0f289e1, S=1, 1024, 0xcfc8799f -0, 62, 62, 1, 5263, 0x8617d7e9, S=1, 1024, 0xcfc8799f -0, 63, 63, 1, 5221, 0x26e3ca43, S=1, 1024, 0xcfc8799f -0, 64, 64, 1, 5217, 0x90989cfb, S=1, 1024, 0xcfc8799f -0, 65, 65, 1, 5395, 0xe29a01cb, S=1, 1024, 0xcfc8799f -0, 66, 66, 1, 5220, 0xe2dee355, S=1, 1024, 0xcfc8799f -0, 67, 67, 1, 5704, 0xcfbcd55e, S=1, 1024, 0xcfc8799f -0, 68, 68, 1, 5636, 0x7fc2a1e5, S=1, 1024, 0xcfc8799f -0, 69, 69, 1, 5818, 0x6090ebbd, S=1, 1024, 0xcfc8799f -0, 70, 70, 1, 5763, 0xc110c791, S=1, 1024, 0xcfc8799f -0, 71, 71, 1, 6116, 0xb4ee8e30, S=1, 1024, 0xcfc8799f -0, 72, 72, 1, 6069, 0x21b263db, S=1, 1024, 0xcfc8799f -0, 73, 73, 1, 5796, 0x2514df52, S=1, 1024, 0xcfc8799f -0, 74, 74, 1, 5999, 0x1c3c3701, S=1, 1024, 0xcfc8799f -0, 75, 75, 1, 6220, 0x8340b150, S=1, 1024, 0xcfc8799f -0, 76, 76, 1, 6374, 0x00d8eaa5, S=1, 1024, 0xcfc8799f -0, 77, 77, 1, 6465, 0x74c4778a, S=1, 1024, 0xcfc8799f -0, 78, 78, 1, 7019, 0xdb1a28a3, S=1, 1024, 0xcfc8799f -0, 79, 79, 1, 7255, 0x1e19b76e, S=1, 1024, 0xcfc8799f -0, 80, 80, 1, 8197, 0x26bc6a79, S=1, 1024, 0xcfc8799f -0, 81, 81, 1, 8358, 0x118781e0, S=1, 1024, 0xcfc8799f -0, 82, 82, 1, 7708, 0xfc0c963d, S=1, 1024, 0xcfc8799f -0, 83, 83, 1, 7412, 0xdcc311ee, S=1, 1024, 0xcfc8799f -0, 84, 84, 1, 7541, 0x4d2819c1, S=1, 1024, 0xcfc8799f -0, 85, 85, 1, 7948, 0xf12eca3d, S=1, 1024, 0xcfc8799f -0, 86, 86, 1, 8408, 0x43add468, S=1, 1024, 0xcfc8799f -0, 87, 87, 1, 8056, 0x2d162377, S=1, 1024, 0xcfc8799f -0, 88, 88, 1, 7401, 0x26ebb649, S=1, 1024, 0xcfc8799f -0, 89, 89, 1, 7494, 0x35fcf9ae, S=1, 1024, 0xcfc8799f -0, 90, 90, 1, 7806, 0x4238723d, S=1, 1024, 0xcfc8799f -0, 91, 91, 1, 7768, 0xb01e795a, S=1, 1024, 0xcfc8799f -0, 92, 92, 1, 7749, 0x6ab39c12, S=1, 1024, 0xcfc8799f -0, 93, 93, 1, 8047, 0x0e5f24aa, S=1, 1024, 0xcfc8799f -0, 94, 94, 1, 7618, 0xd787340f, S=1, 1024, 0xcfc8799f -0, 95, 95, 1, 7979, 0x0824c4df, S=1, 1024, 0xcfc8799f -0, 96, 96, 1, 12062, 0xc46d9d92, S=1, 1024, 0xcfc8799f -0, 97, 97, 1, 12317, 0x1314dc0c, S=1, 1024, 0xcfc8799f -0, 98, 98, 1, 12217, 0x78c2ed30, S=1, 1024, 0xcfc8799f -0, 99, 99, 1, 11227, 0x2a578eb9, S=1, 1024, 0xcfc8799f -0, 100, 100, 1, 11108, 0x4eaa068c, S=1, 1024, 0xcfc8799f -0, 101, 101, 1, 11366, 0x48f8993f, S=1, 1024, 0xcfc8799f -0, 102, 102, 1, 11896, 0x32414841, S=1, 1024, 0xcfc8799f -0, 103, 103, 1, 11479, 0xeaa38225, S=1, 1024, 0xcfc8799f -0, 104, 104, 1, 13395, 0xaa9d4c72, S=1, 1024, 0xcfc8799f -0, 105, 105, 1, 12913, 0x28854353, S=1, 1024, 0xcfc8799f -0, 106, 106, 1, 13864, 0x663df630, S=1, 1024, 0xcfc8799f -0, 107, 107, 1, 13551, 0xf7ba7be7, S=1, 1024, 0xcfc8799f -0, 108, 108, 1, 14041, 0x2dc071b9, S=1, 1024, 0xcfc8799f -0, 109, 109, 1, 14144, 0x33a03d1d, S=1, 1024, 0xcfc8799f -0, 110, 110, 1, 14277, 0x6bda5935, S=1, 1024, 0xcfc8799f -0, 111, 111, 1, 14424, 0xa696efd8, S=1, 1024, 0xcfc8799f -0, 112, 112, 1, 14689, 0x8e3ad12c, S=1, 1024, 0xcfc8799f -0, 113, 113, 1, 14598, 0x544668b4, S=1, 1024, 0xcfc8799f -0, 114, 114, 1, 15213, 0x60009558, S=1, 1024, 0xcfc8799f -0, 115, 115, 1, 15425, 0x86e5adf4, S=1, 1024, 0xcfc8799f -0, 116, 116, 1, 15595, 0x878d09b9, S=1, 1024, 0xcfc8799f -0, 117, 117, 1, 15598, 0x10daabc4, S=1, 1024, 0xcfc8799f -0, 118, 118, 1, 15863, 0x2462016c, S=1, 1024, 0xcfc8799f -0, 119, 119, 1, 15717, 0xe05041c4, S=1, 1024, 0xcfc8799f -0, 120, 120, 1, 16078, 0x7c8f3a8c, S=1, 1024, 0xcfc8799f -0, 121, 121, 1, 16225, 0x9771a52e, S=1, 1024, 0xcfc8799f -0, 122, 122, 1, 16135, 0x2dfc1692, S=1, 1024, 0xcfc8799f -0, 123, 123, 1, 16661, 0x09c96d7e, S=1, 1024, 0xcfc8799f -0, 124, 124, 1, 16619, 0xc4735b56, S=1, 1024, 0xcfc8799f -0, 125, 125, 1, 16829, 0x589dc13f, S=1, 1024, 0xcfc8799f -0, 126, 126, 1, 16944, 0x997cd18f, S=1, 1024, 0xcfc8799f -0, 127, 127, 1, 17119, 0x6c396b60, S=1, 1024, 0xcfc8799f -0, 128, 128, 1, 17150, 0x8e603d31, S=1, 1024, 0xcfc8799f -0, 129, 129, 1, 17321, 0x0bbcee5a, S=1, 1024, 0xcfc8799f -0, 130, 130, 1, 17395, 0x99f0c974, S=1, 1024, 0xcfc8799f -0, 131, 131, 1, 17666, 0x37184223, S=1, 1024, 0xcfc8799f -0, 132, 132, 1, 17730, 0xa0d385b3, S=1, 1024, 0xcfc8799f -0, 133, 133, 1, 17934, 0xb22cc97d, S=1, 1024, 0xcfc8799f -0, 134, 134, 1, 17944, 0x0cd309c6, S=1, 1024, 0xcfc8799f -0, 135, 135, 1, 18238, 0x6b7e3237, S=1, 1024, 0xcfc8799f -0, 136, 136, 1, 18391, 0x4df3c48a, S=1, 1024, 0xcfc8799f -0, 137, 137, 1, 18543, 0x90a2f238, S=1, 1024, 0xcfc8799f -0, 138, 138, 1, 18939, 0xc57dda5b, S=1, 1024, 0xcfc8799f -0, 139, 139, 1, 19145, 0x1267294a, S=1, 1024, 0xcfc8799f -0, 140, 140, 1, 19120, 0xeac6a9c3, S=1, 1024, 0xcfc8799f -0, 141, 141, 1, 19130, 0x31f3edbc, S=1, 1024, 0xcfc8799f -0, 142, 142, 1, 19494, 0x3259a2f3, S=1, 1024, 0xcfc8799f -0, 143, 143, 1, 19534, 0xda22a752, S=1, 1024, 0xcfc8799f -0, 144, 144, 1, 19747, 0x8805c379, S=1, 1024, 0xcfc8799f -0, 145, 145, 1, 20114, 0xaaf96864, S=1, 1024, 0xcfc8799f -0, 146, 146, 1, 20257, 0x7223da26, S=1, 1024, 0xcfc8799f -0, 147, 147, 1, 20370, 0x08ef382a, S=1, 1024, 0xcfc8799f -0, 148, 148, 1, 20292, 0x4b47f207, S=1, 1024, 0xcfc8799f -0, 149, 149, 1, 20491, 0xeedd6d1c, S=1, 1024, 0xcfc8799f -0, 150, 150, 1, 20647, 0xb0d1dd45, S=1, 1024, 0xcfc8799f -0, 151, 151, 1, 20666, 0x382cc8a4, S=1, 1024, 0xcfc8799f -0, 152, 152, 1, 21007, 0x398f4f7d, S=1, 1024, 0xcfc8799f -0, 153, 153, 1, 21058, 0xd6616a9d, S=1, 1024, 0xcfc8799f -0, 154, 154, 1, 21153, 0x988749db, S=1, 1024, 0xcfc8799f -0, 155, 155, 1, 21078, 0x1b328059, S=1, 1024, 0xcfc8799f -0, 156, 156, 1, 21458, 0x6348529c, S=1, 1024, 0xcfc8799f -0, 157, 157, 1, 21669, 0xcf63e2de, S=1, 1024, 0xcfc8799f -0, 158, 158, 1, 21581, 0x1fc021af, S=1, 1024, 0xcfc8799f -0, 159, 159, 1, 21654, 0x899dab18, S=1, 1024, 0xcfc8799f -0, 160, 160, 1, 21987, 0x634086fe, S=1, 1024, 0xcfc8799f -0, 161, 161, 1, 22205, 0x617a7335, S=1, 1024, 0xcfc8799f -0, 162, 162, 1, 22475, 0x9fa2e01c, S=1, 1024, 0xcfc8799f -0, 163, 163, 1, 22490, 0x7dc5376c, S=1, 1024, 0xcfc8799f -0, 164, 164, 1, 22460, 0x33e6bbfe, S=1, 1024, 0xcfc8799f -0, 165, 165, 1, 22861, 0x18993510, S=1, 1024, 0xcfc8799f -0, 166, 166, 1, 22746, 0xdff85615, S=1, 1024, 0xcfc8799f -0, 167, 167, 1, 23165, 0xf0ac66a3, S=1, 1024, 0xcfc8799f -0, 168, 168, 1, 23273, 0x13869ad9, S=1, 1024, 0xcfc8799f -0, 169, 169, 1, 23211, 0xd30b6205, S=1, 1024, 0xcfc8799f -0, 170, 170, 1, 23648, 0xa0cef01b, S=1, 1024, 0xcfc8799f -0, 171, 171, 1, 23675, 0x760460b9, S=1, 1024, 0xcfc8799f -0, 172, 172, 1, 23874, 0xacf998c5, S=1, 1024, 0xcfc8799f +0, 0, 0, 1, 552, 0x47602c6c, S=1, 1, 0x00010001 +0, 1, 1, 1, 297, 0x49dd8847, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 2, 2, 1, 438, 0x4776d352, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 3, 3, 1, 450, 0x2254d187, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 4, 4, 1, 547, 0xe16104bc, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 5, 5, 1, 614, 0x0fdc2027, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 6, 6, 1, 642, 0xa0af1edf, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 7, 7, 1, 660, 0xd0763931, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 8, 8, 1, 821, 0xc38f7fac, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 9, 9, 1, 1157, 0x4c112ecd, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 10, 10, 1, 179, 0x0690541c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 11, 11, 1, 1333, 0x216f70a7, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 12, 12, 1, 1638, 0x901c093d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 13, 13, 1, 1531, 0xc9bae5ff, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 14, 14, 1, 1720, 0xce854743, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 15, 15, 1, 1910, 0x2690866d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 16, 16, 1, 2124, 0xa586dad0, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 17, 17, 1, 2248, 0x9ddc2a88, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 18, 18, 1, 2311, 0xd64235af, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 19, 19, 1, 2408, 0xe2a66cc9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 20, 20, 1, 2601, 0xeab6c267, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 21, 21, 1, 2687, 0xfe1d0311, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 22, 22, 1, 2784, 0xca600dee, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 23, 23, 1, 2884, 0xc7134b99, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 24, 24, 1, 2982, 0x0b1e7825, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 25, 25, 1, 3101, 0x3e029e0e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 26, 26, 1, 3253, 0x846af678, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 27, 27, 1, 3329, 0x29a81b71, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 28, 28, 1, 3572, 0xa3e08a52, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 29, 29, 1, 3807, 0x18e1fed2, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 30, 30, 1, 2750, 0xff6e1f9e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 31, 31, 1, 4031, 0x6d4f7329, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 32, 32, 1, 3025, 0xb43c9e94, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 33, 33, 1, 4295, 0xc1850a80, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 34, 34, 1, 2044, 0x0440c072, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 35, 35, 1, 3212, 0xe91af08f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 36, 36, 1, 2292, 0x6765633e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 37, 37, 1, 3633, 0xac779aa3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 38, 38, 1, 3552, 0xed2c75b2, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 39, 39, 1, 3690, 0x2020dd0d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 40, 40, 1, 1559, 0x596ef330, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 41, 41, 1, 954, 0xac12c9c5, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 42, 42, 1, 273, 0x138c7831, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 43, 43, 1, 930, 0xf1c3ae3f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 44, 44, 1, 271, 0x921a80af, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 45, 45, 1, 196, 0xa5de5322, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 46, 46, 1, 4299, 0x5bac0d86, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 47, 47, 1, 4895, 0xc43639a6, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 48, 48, 1, 4928, 0xf17d13e8, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 49, 49, 1, 4941, 0x71915520, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 50, 50, 1, 4154, 0xc860b8a6, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 51, 51, 1, 4678, 0x2651c339, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 52, 52, 1, 4741, 0xffd6bb45, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 53, 53, 1, 4982, 0x132c5977, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 54, 54, 1, 5179, 0x97aac3a1, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 55, 55, 1, 5046, 0x836a80cd, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 56, 56, 1, 5140, 0xa725c1e7, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 57, 57, 1, 4301, 0x0203f239, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 58, 58, 1, 5079, 0xb2e7a2de, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 59, 59, 1, 5284, 0xb757dfe1, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 60, 60, 1, 5426, 0xf9f11e57, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 61, 61, 1, 4645, 0xf0f289e1, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 62, 62, 1, 5263, 0x8617d7e9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 63, 63, 1, 5221, 0x26e3ca43, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 64, 64, 1, 5217, 0x90989cfb, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 65, 65, 1, 5395, 0xe29a01cb, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 66, 66, 1, 5220, 0xe2dee355, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 67, 67, 1, 5704, 0xcfbcd55e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 68, 68, 1, 5636, 0x7fc2a1e5, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 69, 69, 1, 5818, 0x6090ebbd, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 70, 70, 1, 5763, 0xc110c791, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 71, 71, 1, 6116, 0xb4ee8e30, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 72, 72, 1, 6069, 0x21b263db, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 73, 73, 1, 5796, 0x2514df52, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 74, 74, 1, 5999, 0x1c3c3701, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 75, 75, 1, 6220, 0x8340b150, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 76, 76, 1, 6374, 0x00d8eaa5, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 77, 77, 1, 6465, 0x74c4778a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 78, 78, 1, 7019, 0xdb1a28a3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 79, 79, 1, 7255, 0x1e19b76e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 80, 80, 1, 8197, 0x26bc6a79, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 81, 81, 1, 8358, 0x118781e0, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 82, 82, 1, 7708, 0xfc0c963d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 83, 83, 1, 7412, 0xdcc311ee, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 84, 84, 1, 7541, 0x4d2819c1, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 85, 85, 1, 7948, 0xf12eca3d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 86, 86, 1, 8408, 0x43add468, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 87, 87, 1, 8056, 0x2d162377, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 88, 88, 1, 7401, 0x26ebb649, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 89, 89, 1, 7494, 0x35fcf9ae, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 90, 90, 1, 7806, 0x4238723d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 91, 91, 1, 7768, 0xb01e795a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 92, 92, 1, 7749, 0x6ab39c12, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 93, 93, 1, 8047, 0x0e5f24aa, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 94, 94, 1, 7618, 0xd787340f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 95, 95, 1, 7979, 0x0824c4df, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 96, 96, 1, 12062, 0xc46d9d92, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 97, 97, 1, 12317, 0x1314dc0c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 98, 98, 1, 12217, 0x78c2ed30, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 99, 99, 1, 11227, 0x2a578eb9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 100, 100, 1, 11108, 0x4eaa068c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 101, 101, 1, 11366, 0x48f8993f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 102, 102, 1, 11896, 0x32414841, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 103, 103, 1, 11479, 0xeaa38225, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 104, 104, 1, 13395, 0xaa9d4c72, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 105, 105, 1, 12913, 0x28854353, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 106, 106, 1, 13864, 0x663df630, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 107, 107, 1, 13551, 0xf7ba7be7, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 108, 108, 1, 14041, 0x2dc071b9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 109, 109, 1, 14144, 0x33a03d1d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 110, 110, 1, 14277, 0x6bda5935, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 111, 111, 1, 14424, 0xa696efd8, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 112, 112, 1, 14689, 0x8e3ad12c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 113, 113, 1, 14598, 0x544668b4, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 114, 114, 1, 15213, 0x60009558, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 115, 115, 1, 15425, 0x86e5adf4, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 116, 116, 1, 15595, 0x878d09b9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 117, 117, 1, 15598, 0x10daabc4, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 118, 118, 1, 15863, 0x2462016c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 119, 119, 1, 15717, 0xe05041c4, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 120, 120, 1, 16078, 0x7c8f3a8c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 121, 121, 1, 16225, 0x9771a52e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 122, 122, 1, 16135, 0x2dfc1692, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 123, 123, 1, 16661, 0x09c96d7e, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 124, 124, 1, 16619, 0xc4735b56, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 125, 125, 1, 16829, 0x589dc13f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 126, 126, 1, 16944, 0x997cd18f, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 127, 127, 1, 17119, 0x6c396b60, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 128, 128, 1, 17150, 0x8e603d31, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 129, 129, 1, 17321, 0x0bbcee5a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 130, 130, 1, 17395, 0x99f0c974, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 131, 131, 1, 17666, 0x37184223, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 132, 132, 1, 17730, 0xa0d385b3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 133, 133, 1, 17934, 0xb22cc97d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 134, 134, 1, 17944, 0x0cd309c6, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 135, 135, 1, 18238, 0x6b7e3237, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 136, 136, 1, 18391, 0x4df3c48a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 137, 137, 1, 18543, 0x90a2f238, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 138, 138, 1, 18939, 0xc57dda5b, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 139, 139, 1, 19145, 0x1267294a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 140, 140, 1, 19120, 0xeac6a9c3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 141, 141, 1, 19130, 0x31f3edbc, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 142, 142, 1, 19494, 0x3259a2f3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 143, 143, 1, 19534, 0xda22a752, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 144, 144, 1, 19747, 0x8805c379, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 145, 145, 1, 20114, 0xaaf96864, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 146, 146, 1, 20257, 0x7223da26, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 147, 147, 1, 20370, 0x08ef382a, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 148, 148, 1, 20292, 0x4b47f207, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 149, 149, 1, 20491, 0xeedd6d1c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 150, 150, 1, 20647, 0xb0d1dd45, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 151, 151, 1, 20666, 0x382cc8a4, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 152, 152, 1, 21007, 0x398f4f7d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 153, 153, 1, 21058, 0xd6616a9d, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 154, 154, 1, 21153, 0x988749db, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 155, 155, 1, 21078, 0x1b328059, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 156, 156, 1, 21458, 0x6348529c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 157, 157, 1, 21669, 0xcf63e2de, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 158, 158, 1, 21581, 0x1fc021af, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 159, 159, 1, 21654, 0x899dab18, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 160, 160, 1, 21987, 0x634086fe, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 161, 161, 1, 22205, 0x617a7335, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 162, 162, 1, 22475, 0x9fa2e01c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 163, 163, 1, 22490, 0x7dc5376c, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 164, 164, 1, 22460, 0x33e6bbfe, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 165, 165, 1, 22861, 0x18993510, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 166, 166, 1, 22746, 0xdff85615, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 167, 167, 1, 23165, 0xf0ac66a3, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 168, 168, 1, 23273, 0x13869ad9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 169, 169, 1, 23211, 0xd30b6205, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 170, 170, 1, 23648, 0xa0cef01b, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 171, 171, 1, 23675, 0x760460b9, S=2, 1, 0x00010001, 1024, 0xcfc8799f +0, 172, 172, 1, 23874, 0xacf998c5, S=2, 1, 0x00010001, 1024, 0xcfc8799f From 88a7c759dbe87c2069ca693d53733cfdfaaf6e3b Mon Sep 17 00:00:00 2001 From: Bjorn Roche Date: Mon, 5 Feb 2018 16:39:16 -0500 Subject: [PATCH 02/18] bugfixes for edge and 2nd frame artifacts --- libavcodec/gif.c | 42 +++++++++++++++--------------------------- libavformat/gif.c | 4 ++-- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index 6c839d99d2490..b7ae60b0b681a 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -164,7 +164,7 @@ static int gif_image_write_opaque(AVCodecContext *avctx, uint8_t *frame_disposal = av_packet_new_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, 1); if (!frame_disposal) return AVERROR(ENOMEM); - *frame_disposal = GCE_DISPOSAL_INPLACE; + *frame_disposal = GCE_DISPOSAL_BACKGROUND; /* image block */ bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR); @@ -266,62 +266,50 @@ static int gif_image_write_translucent(AVCodecContext *avctx, // crop top while (y_start < y_end) { int i; - int is_trans = 1; for (i=0; ilzw, s->buf, s->buf_size, 12, FF_LZW_GIF, put_bits); - ptr = buf + y_start*linesize + x_start; + ptr = buf + y_start*(linesize) + x_start; for (y = 0; y < height; y++) { len += ff_lzw_encode(s->lzw, ptr, width); diff --git a/libavformat/gif.c b/libavformat/gif.c index b4a8b6aa94674..31e60bb2ff13c 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -172,9 +172,9 @@ static int flush_packet(AVFormatContext *s, AVPacket *new) /* graphic control extension block */ if (disposal) { - packed = (0xff & (*disposal)<<2) | (bcid >= 0); + packed = (0xff & (*disposal)<<2) | (bcid >= 0 ? 1 : 0); } else { - packed = 1<<2 | (bcid >= 0); + packed = 1<<2 | (bcid >= 0 ? 1 : 0); } avio_w8(pb, 0x21); From 77cd1d063f2f8b9b529a6c69b6a960c403f85ced Mon Sep 17 00:00:00 2001 From: Bjorn Roche Date: Fri, 16 Mar 2018 12:24:24 -0400 Subject: [PATCH 03/18] fixes for corrupt gifs --- libavcodec/gif.c | 63 +++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index b7ae60b0b681a..b7349823e9782 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -97,12 +97,14 @@ static int is_image_translucent(AVCodecContext *avctx, } // writes an opaque image. ie an image with no transparency. -// it also works, and should be used, for a first image. +// it also works, for a first image even with transpareny, +// in which case is_translucent should be set. static int gif_image_write_opaque(AVCodecContext *avctx, uint8_t **bytestream, uint8_t *end, const uint32_t *palette, const uint8_t *buf, const int linesize, - AVPacket *pkt) + AVPacket *pkt, + const int is_translucent ) { GIFContext *s = avctx->priv_data; int len = 0, height = avctx->height, width = avctx->width, x, y; @@ -161,10 +163,34 @@ static int gif_image_write_opaque(AVCodecContext *avctx, width, height, x_start, y_start, avctx->width, avctx->height); } + if (trans < 0) { + honor_transparency = 0; + } + if (honor_transparency && trans < 0) { + trans = pick_palette_entry(buf + y_start*linesize + x_start, + linesize, width, height); + if (trans < 0) { // TODO, patch welcome + av_log(avctx, AV_LOG_DEBUG, "No available color, can not use transparency\n"); + } else { + uint8_t *pal_exdata = s->pal_exdata; + if (!pal_exdata) + pal_exdata = av_packet_new_side_data(pkt, AV_PKT_DATA_PALETTE, AVPALETTE_SIZE); + if (!pal_exdata) + return AVERROR(ENOMEM); + memcpy(pal_exdata, s->palette, AVPALETTE_SIZE); + pal_exdata[trans*4 + 3*!HAVE_BIGENDIAN] = 0x00; + } + } + uint8_t *frame_disposal = av_packet_new_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, 1); if (!frame_disposal) return AVERROR(ENOMEM); - *frame_disposal = GCE_DISPOSAL_BACKGROUND; + *frame_disposal = GCE_DISPOSAL_NONE ; + if( honor_transparency ) + *frame_disposal = GCE_DISPOSAL_INPLACE; + if( is_translucent ) + *frame_disposal = GCE_DISPOSAL_BACKGROUND; + /* image block */ bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR); @@ -184,30 +210,13 @@ static int gif_image_write_opaque(AVCodecContext *avctx, } } - if (honor_transparency && trans < 0) { - trans = pick_palette_entry(buf + y_start*linesize + x_start, - linesize, width, height); - if (trans < 0) { // TODO, patch welcome - av_log(avctx, AV_LOG_DEBUG, "No available color, can not use transparency\n"); - } else { - uint8_t *pal_exdata = s->pal_exdata; - if (!pal_exdata) - pal_exdata = av_packet_new_side_data(pkt, AV_PKT_DATA_PALETTE, AVPALETTE_SIZE); - if (!pal_exdata) - return AVERROR(ENOMEM); - memcpy(pal_exdata, s->palette, AVPALETTE_SIZE); - pal_exdata[trans*4 + 3*!HAVE_BIGENDIAN] = 0x00; - } - } - if (trans < 0) - honor_transparency = 0; - bytestream_put_byte(bytestream, 0x08); ff_lzw_encode_init(s->lzw, s->buf, s->buf_size, 12, FF_LZW_GIF, put_bits); ptr = buf + y_start*linesize + x_start; + if (honor_transparency) { const int ref_linesize = s->last_frame->linesize[0]; const uint8_t *ref = s->last_frame->data[0] + y_start*ref_linesize + x_start; @@ -377,14 +386,18 @@ static int gif_image_write_image(AVCodecContext *avctx, AVPacket *pkt) { GIFContext *s = avctx->priv_data; - if (!s->last_frame) { - return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt); + + int first_frame = s->last_frame == NULL; + int is_translucent = is_image_translucent(avctx, palette, buf, linesize); + + if (first_frame) { + return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt, is_translucent); } - if (is_image_translucent(avctx, palette, buf, linesize)) { + if (is_translucent) { return gif_image_write_translucent(avctx, bytestream, end, palette, buf, linesize, pkt); } else { - return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt); + return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt, is_translucent); } } From 6e060570b89339bdf9e495c472ab9913ea49bda3 Mon Sep 17 00:00:00 2001 From: Collin Burger Date: Wed, 4 Apr 2018 11:05:04 -0400 Subject: [PATCH 04/18] actually fix conflict --- libavcodec/avcodec.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f9bb0a4cee809..4fa2ed89c863e 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1345,12 +1345,12 @@ enum AVPacketSideDataType { AV_PKT_DATA_A53_CC, /** -<<<<<<< HEAD * The disposal method that should be used with the frame. If missing, * the frame will not be disposed. This contains exactly one byte. */ AV_PKT_DATA_GIF_FRAME_DISPOSAL, -======= + + /** * This side data is encryption initialization data. * The format is not part of ABI, use av_encryption_init_info_* methods to * access. @@ -1362,7 +1362,6 @@ enum AVPacketSideDataType { * The format is not part of ABI, use av_encryption_info_* methods to access. */ AV_PKT_DATA_ENCRYPTION_INFO, ->>>>>>> upstream/master /** * The number of side data types. From 5eaaf8ec195212b3176828ebde00f504a74df2bb Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Mon, 26 Nov 2018 16:25:52 -0500 Subject: [PATCH 05/18] CR-1266: Fix infinite loop bug on transparent optimization --- libavcodec/gif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index b7349823e9782..8ba01c18585a3 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -309,7 +309,7 @@ static int gif_image_write_translucent(AVCodecContext *avctx, DONE_CROP_LEFT: // crop right - while (x_end < w) { + while (x_end > x_start) { int i; for (i=y_start; i Date: Thu, 14 Mar 2019 14:34:40 -0400 Subject: [PATCH 06/18] fix conflict res issue --- libavcodec/gif.c | 153 +---------------------------------------------- 1 file changed, 2 insertions(+), 151 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index d34c37fd82627..94c8b1af499f2 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -116,6 +116,7 @@ static int pick_palette_entry(const uint8_t *buf, int linesize, int w, int h) return i; return -1; } + static void gif_crop_translucent(AVCodecContext *avctx, const uint8_t *buf, const int linesize, int *width, int *height, @@ -346,7 +347,6 @@ static int gif_image_write_image(AVCodecContext *avctx, 12, FF_LZW_GIF, put_bits); ptr = buf + y_start*linesize + x_start; - if (honor_transparency) { const int ref_linesize = s->last_frame->linesize[0]; const uint8_t *ref = s->last_frame->data[0] + y_start*ref_linesize + x_start; @@ -382,155 +382,6 @@ static int gif_image_write_image(AVCodecContext *avctx, return 0; } -// wrtites an image that may contain transparency -// this should work for opaque images as well, but will be less optimized. -static int gif_image_write_translucent(AVCodecContext *avctx, - uint8_t **bytestream, uint8_t *end, - const uint32_t *palette, - const uint8_t *buf, const int linesize, - AVPacket *pkt) -{ - GIFContext *s = avctx->priv_data; - int len = 0, height = avctx->height, width = avctx->width, y; - int x_start = 0, y_start = 0, trans = s->transparent_index; - const uint8_t *ptr; - - /* Crop Image */ - if ((s->flags & GF_OFFSETTING) && trans >=0) { - const int w = avctx->width; - const int h = avctx->height; - int x_end = w - 1, - y_end = h - 1; - - // crop top - while (y_start < y_end) { - int i; - for (i=0; i x_start) { - int i; - for (i=y_start; iwidth, avctx->height); - } - - - uint8_t *frame_disposal = av_packet_new_side_data(pkt, AV_PKT_DATA_GIF_FRAME_DISPOSAL, 1); - if (!frame_disposal) - return AVERROR(ENOMEM); - *frame_disposal = GCE_DISPOSAL_BACKGROUND; - - /* image block */ - bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR); - bytestream_put_le16(bytestream, x_start); - bytestream_put_le16(bytestream, y_start); - bytestream_put_le16(bytestream, width); - bytestream_put_le16(bytestream, height); - - if (!palette) { - bytestream_put_byte(bytestream, 0x00); /* flags */ - } else { - unsigned i; - bytestream_put_byte(bytestream, 1<<7 | 0x7); /* flags */ - for (i = 0; i < AVPALETTE_COUNT; i++) { - const uint32_t v = palette[i]; - bytestream_put_be24(bytestream, v); - } - } - - bytestream_put_byte(bytestream, 0x08); - - ff_lzw_encode_init(s->lzw, s->buf, s->buf_size, - 12, FF_LZW_GIF, put_bits); - - ptr = buf + y_start*(linesize) + x_start; - - for (y = 0; y < height; y++) { - len += ff_lzw_encode(s->lzw, ptr, width); - ptr += linesize; - } - - len += ff_lzw_encode_flush(s->lzw, flush_put_bits); - - ptr = s->buf; - while (len > 0) { - int size = FFMIN(255, len); - bytestream_put_byte(bytestream, size); - if (end - *bytestream < size) - return -1; - bytestream_put_buffer(bytestream, ptr, size); - ptr += size; - len -= size; - } - bytestream_put_byte(bytestream, 0x00); /* end of image block */ - - return 0; -} - -static int gif_image_write_image(AVCodecContext *avctx, - uint8_t **bytestream, uint8_t *end, - const uint32_t *palette, - const uint8_t *buf, const int linesize, - AVPacket *pkt) -{ - GIFContext *s = avctx->priv_data; - - int first_frame = s->last_frame == NULL; - int is_translucent = is_image_translucent(avctx, palette, buf, linesize); - - if (first_frame) { - return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt, is_translucent); - } - - if (is_translucent) { - return gif_image_write_translucent(avctx, bytestream, end, palette, buf, linesize, pkt); - } else { - return gif_image_write_opaque(avctx, bytestream, end, palette, buf, linesize, pkt, is_translucent); - } -} - static av_cold int gif_encode_init(AVCodecContext *avctx) { GIFContext *s = avctx->priv_data; @@ -646,4 +497,4 @@ AVCodec ff_gif_encoder = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE }, .priv_class = &gif_class, -}; +}; \ No newline at end of file From c6180f306e64ca77c7d5a13fa2ace03b49402da3 Mon Sep 17 00:00:00 2001 From: Collin Burger Date: Fri, 19 Apr 2019 12:05:37 -0400 Subject: [PATCH 07/18] fix transparent crop and add some debugging around gif writing --- libavcodec/gif.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index 94c8b1af499f2..008f3c772760d 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -125,6 +125,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, GIFContext *s = avctx->priv_data; int trans = s->transparent_index; + av_log(avctx, AV_LOG_DEBUG,"avctx frame: %d\n", avctx->frame_number); /* Crop image */ if ((s->flags & GF_OFFSETTING) && trans >= 0) { const int w = avctx->width; @@ -144,11 +145,13 @@ static void gif_crop_translucent(AVCodecContext *avctx, if (!is_trans) break; + // av_log(avctx, AV_LOG_DEBUG,"crop top: %dx%d image at pos (%d;%d) [area:%dx%d]\n", + // *width, *height, *x_start, *y_start, avctx->width, avctx->height); (*y_start)++; } // crop bottom - while (y_end < h) { + while (y_end > *y_start) { int is_trans = 1; for (int i = 0; i < w; i++) { if (buf[w * y_end + i] != trans) { @@ -158,6 +161,8 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; + // av_log(avctx, AV_LOG_DEBUG,"crop bottom: %dx%d image at pos (%d;%d) [area:%dx%d]\n", + // *width, *height, *x_start, *y_start, avctx->width, avctx->height); y_end--; } @@ -172,11 +177,13 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; + // av_log(avctx, AV_LOG_DEBUG,"crop left: %dx%d image at pos (%d;%d) [area:%dx%d]\n", + // *width, *height, *x_start, *y_start, avctx->width, avctx->height); (*x_start)++; } // crop right - while (x_end < w) { + while (x_end > x_start) { int is_trans = 1; for (int i = *y_start; i < y_end; i++) { if (buf[w * i + x_end] != trans) { @@ -186,11 +193,17 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; + // av_log(avctx, AV_LOG_DEBUG,"crop right: %dx%d image at pos (%d;%d) [area:%dx%d]\n", + // *width, *height, *x_start, *y_start, avctx->width, avctx->height); x_end--; } *height = y_end + 1 - *y_start; *width = x_end + 1 - *x_start; + // if (*width == 1 && *height == 1) { + // *x_start = 0; + // *y_start = 0; + // } av_log(avctx, AV_LOG_DEBUG,"%dx%d image at pos (%d;%d) [area:%dx%d]\n", *width, *height, *x_start, *y_start, avctx->width, avctx->height); } @@ -343,11 +356,13 @@ static int gif_image_write_image(AVCodecContext *avctx, bytestream_put_byte(bytestream, 0x08); + // av_log(avctx, AV_LOG_DEBUG, "frame: %d buf_size: %d\n", avctx->frame_number, s->buf_size); ff_lzw_encode_init(s->lzw, s->buf, s->buf_size, 12, FF_LZW_GIF, put_bits); ptr = buf + y_start*linesize + x_start; if (honor_transparency) { + av_log(avctx, AV_LOG_DEBUG, "frame: %d honoring transparency\n", avctx->frame_number); const int ref_linesize = s->last_frame->linesize[0]; const uint8_t *ref = s->last_frame->data[0] + y_start*ref_linesize + x_start; @@ -361,9 +376,13 @@ static int gif_image_write_image(AVCodecContext *avctx, ref += ref_linesize; } } else { + av_log(avctx, AV_LOG_DEBUG, "frame: %d not honoring transparency\n", avctx->frame_number); + av_log(avctx, AV_LOG_DEBUG, "frame: %d lzw encoding image of height: %d\n", avctx->frame_number, height); for (y = 0; y < height; y++) { len += ff_lzw_encode(s->lzw, ptr, width); + av_log(avctx, AV_LOG_DEBUG, "frame: %d lzw encoding image of width: %d\n", avctx->frame_number, width); ptr += linesize; + av_log(avctx, AV_LOG_DEBUG, "frame: %d wrote linesize: %d\n", avctx->frame_number, linesize); } } len += ff_lzw_encode_flush(s->lzw, flush_put_bits); From d69c4cf47f1c234b78accf40909a7c40a1891570 Mon Sep 17 00:00:00 2001 From: Collin Burger Date: Fri, 19 Apr 2019 12:39:30 -0400 Subject: [PATCH 08/18] Update gif.c --- libavcodec/gif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index 008f3c772760d..f557ceaebe3fc 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -183,7 +183,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, } // crop right - while (x_end > x_start) { + while (x_end > *x_start) { int is_trans = 1; for (int i = *y_start; i < y_end; i++) { if (buf[w * i + x_end] != trans) { From 837634277df05c09f39ce29652782e82d10e016d Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Mon, 6 May 2019 14:59:23 -0400 Subject: [PATCH 09/18] Fix bug with transparent gif cropping --- libavcodec/gif.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index f557ceaebe3fc..383af118bad67 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -126,6 +126,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, int trans = s->transparent_index; av_log(avctx, AV_LOG_DEBUG,"avctx frame: %d\n", avctx->frame_number); + /* Crop image */ if ((s->flags & GF_OFFSETTING) && trans >= 0) { const int w = avctx->width; @@ -136,8 +137,8 @@ static void gif_crop_translucent(AVCodecContext *avctx, // crop top while (*y_start < y_end) { int is_trans = 1; - for (int i = 0; i < w; i++) { - if (buf[w * *y_start + i] != trans) { + for (int i = 0; i < linesize; i++) { + if (buf[linesize * *y_start + i] != trans) { is_trans = 0; break; } @@ -153,8 +154,8 @@ static void gif_crop_translucent(AVCodecContext *avctx, // crop bottom while (y_end > *y_start) { int is_trans = 1; - for (int i = 0; i < w; i++) { - if (buf[w * y_end + i] != trans) { + for (int i = 0; i < linesize; i++) { + if (buf[linesize * y_end + i] != trans) { is_trans = 0; break; } @@ -170,7 +171,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, while (*x_start < x_end) { int is_trans = 1; for (int i = *y_start; i < y_end; i++) { - if (buf[w * i + *x_start] != trans) { + if (buf[linesize * i + *x_start] != trans) { is_trans = 0; break; } @@ -186,7 +187,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, while (x_end > *x_start) { int is_trans = 1; for (int i = *y_start; i < y_end; i++) { - if (buf[w * i + x_end] != trans) { + if (buf[linesize * i + x_end] != trans) { is_trans = 0; break; } @@ -200,10 +201,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, *height = y_end + 1 - *y_start; *width = x_end + 1 - *x_start; - // if (*width == 1 && *height == 1) { - // *x_start = 0; - // *y_start = 0; - // } + av_log(avctx, AV_LOG_DEBUG,"%dx%d image at pos (%d;%d) [area:%dx%d]\n", *width, *height, *x_start, *y_start, avctx->width, avctx->height); } From 561517b60bdc59e6a7d2306d1a50fc76f3d5f2d5 Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Mon, 6 May 2019 15:05:06 -0400 Subject: [PATCH 10/18] Optimize --- libavcodec/gif.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index 383af118bad67..c43d248ae364e 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -137,7 +137,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, // crop top while (*y_start < y_end) { int is_trans = 1; - for (int i = 0; i < linesize; i++) { + for (int i = 0; i < w; i++) { if (buf[linesize * *y_start + i] != trans) { is_trans = 0; break; @@ -154,7 +154,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, // crop bottom while (y_end > *y_start) { int is_trans = 1; - for (int i = 0; i < linesize; i++) { + for (int i = 0; i < w; i++) { if (buf[linesize * y_end + i] != trans) { is_trans = 0; break; From d199ea71c03e8bc3a6176da4089b4b34cc565ef3 Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Mon, 6 May 2019 18:40:59 -0400 Subject: [PATCH 11/18] Remove extra logging --- libavcodec/gif.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index c43d248ae364e..d7768b44262e4 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -125,8 +125,6 @@ static void gif_crop_translucent(AVCodecContext *avctx, GIFContext *s = avctx->priv_data; int trans = s->transparent_index; - av_log(avctx, AV_LOG_DEBUG,"avctx frame: %d\n", avctx->frame_number); - /* Crop image */ if ((s->flags & GF_OFFSETTING) && trans >= 0) { const int w = avctx->width; @@ -146,8 +144,6 @@ static void gif_crop_translucent(AVCodecContext *avctx, if (!is_trans) break; - // av_log(avctx, AV_LOG_DEBUG,"crop top: %dx%d image at pos (%d;%d) [area:%dx%d]\n", - // *width, *height, *x_start, *y_start, avctx->width, avctx->height); (*y_start)++; } @@ -162,8 +158,6 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; - // av_log(avctx, AV_LOG_DEBUG,"crop bottom: %dx%d image at pos (%d;%d) [area:%dx%d]\n", - // *width, *height, *x_start, *y_start, avctx->width, avctx->height); y_end--; } @@ -178,8 +172,6 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; - // av_log(avctx, AV_LOG_DEBUG,"crop left: %dx%d image at pos (%d;%d) [area:%dx%d]\n", - // *width, *height, *x_start, *y_start, avctx->width, avctx->height); (*x_start)++; } @@ -194,14 +186,11 @@ static void gif_crop_translucent(AVCodecContext *avctx, } if (!is_trans) break; - // av_log(avctx, AV_LOG_DEBUG,"crop right: %dx%d image at pos (%d;%d) [area:%dx%d]\n", - // *width, *height, *x_start, *y_start, avctx->width, avctx->height); x_end--; } *height = y_end + 1 - *y_start; *width = x_end + 1 - *x_start; - av_log(avctx, AV_LOG_DEBUG,"%dx%d image at pos (%d;%d) [area:%dx%d]\n", *width, *height, *x_start, *y_start, avctx->width, avctx->height); } @@ -354,13 +343,11 @@ static int gif_image_write_image(AVCodecContext *avctx, bytestream_put_byte(bytestream, 0x08); - // av_log(avctx, AV_LOG_DEBUG, "frame: %d buf_size: %d\n", avctx->frame_number, s->buf_size); ff_lzw_encode_init(s->lzw, s->buf, s->buf_size, 12, FF_LZW_GIF, put_bits); ptr = buf + y_start*linesize + x_start; if (honor_transparency) { - av_log(avctx, AV_LOG_DEBUG, "frame: %d honoring transparency\n", avctx->frame_number); const int ref_linesize = s->last_frame->linesize[0]; const uint8_t *ref = s->last_frame->data[0] + y_start*ref_linesize + x_start; @@ -374,13 +361,9 @@ static int gif_image_write_image(AVCodecContext *avctx, ref += ref_linesize; } } else { - av_log(avctx, AV_LOG_DEBUG, "frame: %d not honoring transparency\n", avctx->frame_number); - av_log(avctx, AV_LOG_DEBUG, "frame: %d lzw encoding image of height: %d\n", avctx->frame_number, height); for (y = 0; y < height; y++) { len += ff_lzw_encode(s->lzw, ptr, width); - av_log(avctx, AV_LOG_DEBUG, "frame: %d lzw encoding image of width: %d\n", avctx->frame_number, width); ptr += linesize; - av_log(avctx, AV_LOG_DEBUG, "frame: %d wrote linesize: %d\n", avctx->frame_number, linesize); } } len += ff_lzw_encode_flush(s->lzw, flush_put_bits); From 9f697edfa5a7e5b68585f051114e6e112305a4dc Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Fri, 10 May 2019 16:27:02 -0400 Subject: [PATCH 12/18] Fix disposal method issue --- libavcodec/gif.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/gif.c b/libavcodec/gif.c index d7768b44262e4..6bf656a589a55 100644 --- a/libavcodec/gif.c +++ b/libavcodec/gif.c @@ -191,6 +191,7 @@ static void gif_crop_translucent(AVCodecContext *avctx, *height = y_end + 1 - *y_start; *width = x_end + 1 - *x_start; + av_log(avctx, AV_LOG_DEBUG,"%dx%d image at pos (%d;%d) [area:%dx%d]\n", *width, *height, *x_start, *y_start, avctx->width, avctx->height); } @@ -267,7 +268,7 @@ static int gif_image_write_image(AVCodecContext *avctx, int bcid = -1, honor_transparency = (s->flags & GF_TRANSDIFF) && s->last_frame && !palette; const uint8_t *ptr; - if (!s->image && avctx->frame_number && is_image_translucent(avctx, buf, linesize)) { + if (!s->image && is_image_translucent(avctx, buf, linesize)) { gif_crop_translucent(avctx, buf, linesize, &width, &height, &x_start, &y_start); honor_transparency = 0; disposal = GCE_DISPOSAL_BACKGROUND; From 9ecadadae74caaf74318f7ab60c447b0be0df811 Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Tue, 11 Jun 2019 18:48:18 -0400 Subject: [PATCH 13/18] Fix for duration bug --- fftools/ffmpeg.c | 3 ++- libavformat/gif.c | 7 +------ libavutil/frame.c | 1 + 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 544f1a1cef334..e9bf389bf94fe 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -847,7 +847,6 @@ static void output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int eof) { int ret = 0; - /* apply the output bitstream filters, if any */ if (ost->nb_bitstream_filters) { int idx; @@ -1291,6 +1290,8 @@ static void do_video_out(OutputFile *of, while (1) { ret = avcodec_receive_packet(enc, &pkt); + if (pkt.duration == AV_NOPTS_VALUE || pkt.duration <= 0) + pkt.duration = av_rescale_q(in_picture->pkt_duration, ost->mux_timebase, enc->time_base); update_benchmark("encode_video %d.%d", ost->file_index, ost->index); if (ret == AVERROR(EAGAIN)) break; diff --git a/libavformat/gif.c b/libavformat/gif.c index 7916ba1e6b2a9..0c01ed1777a8a 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -84,12 +84,7 @@ static int gif_parse_packet(AVFormatContext *s, uint8_t *data, int size) static int gif_get_delay(GIFContext *gif, AVPacket *prev, AVPacket *new) { - if (new && new->pts != AV_NOPTS_VALUE) - gif->duration = av_clip_uint16(new->pts - prev->pts); - else if (!new && gif->last_delay >= 0) - gif->duration = gif->last_delay; - - return gif->duration; + return prev->duration; } static int gif_write_packet(AVFormatContext *s, AVPacket *new_pkt) diff --git a/libavutil/frame.c b/libavutil/frame.c index dcf1fc3d17b53..8fc36e4f7dab9 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -453,6 +453,7 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src) dst->channels = src->channels; dst->channel_layout = src->channel_layout; dst->nb_samples = src->nb_samples; + dst->pkt_duration = src->pkt_duration; ret = frame_copy_props(dst, src, 0); if (ret < 0) From 16474062aece299023a902e64c8375d483fc7f6c Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Tue, 11 Jun 2019 18:54:22 -0400 Subject: [PATCH 14/18] Don't need to specify prop --- libavutil/frame.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index 8fc36e4f7dab9..dcf1fc3d17b53 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -453,7 +453,6 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src) dst->channels = src->channels; dst->channel_layout = src->channel_layout; dst->nb_samples = src->nb_samples; - dst->pkt_duration = src->pkt_duration; ret = frame_copy_props(dst, src, 0); if (ret < 0) From f837eeb2d2d188b858cdf359c03c966bbe115e01 Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Tue, 11 Jun 2019 18:57:59 -0400 Subject: [PATCH 15/18] Change get delay function --- libavformat/gif.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libavformat/gif.c b/libavformat/gif.c index 0c01ed1777a8a..efd5a5692bcf7 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -84,7 +84,15 @@ static int gif_parse_packet(AVFormatContext *s, uint8_t *data, int size) static int gif_get_delay(GIFContext *gif, AVPacket *prev, AVPacket *new) { - return prev->duration; + if (new && new->pts != AV_NOPTS_VALUE) + gif->duration = av_clip_uint16(new->pts - prev->pts); + else if (!new && gif->last_delay >= 0) + gif->duration = gif->last_delay; + else { + gif->duration = prev->duration; + } + + return gif->duration; } static int gif_write_packet(AVFormatContext *s, AVPacket *new_pkt) From b3f31a360916e68e96f283b211746d38fc068105 Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Tue, 11 Jun 2019 18:58:28 -0400 Subject: [PATCH 16/18] Change get delay function --- libavformat/gif.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/gif.c b/libavformat/gif.c index efd5a5692bcf7..451517e3ed12d 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -88,9 +88,8 @@ static int gif_get_delay(GIFContext *gif, AVPacket *prev, AVPacket *new) gif->duration = av_clip_uint16(new->pts - prev->pts); else if (!new && gif->last_delay >= 0) gif->duration = gif->last_delay; - else { + else gif->duration = prev->duration; - } return gif->duration; } From 4f1587a90086f5863891b3b7f609bfe5cadc870b Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Tue, 11 Jun 2019 18:59:37 -0400 Subject: [PATCH 17/18] Spacing --- libavformat/gif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/gif.c b/libavformat/gif.c index 451517e3ed12d..f8619e1cf6288 100644 --- a/libavformat/gif.c +++ b/libavformat/gif.c @@ -84,7 +84,7 @@ static int gif_parse_packet(AVFormatContext *s, uint8_t *data, int size) static int gif_get_delay(GIFContext *gif, AVPacket *prev, AVPacket *new) { - if (new && new->pts != AV_NOPTS_VALUE) + if (new && new->pts != AV_NOPTS_VALUE) gif->duration = av_clip_uint16(new->pts - prev->pts); else if (!new && gif->last_delay >= 0) gif->duration = gif->last_delay; From f2b8cce8047cef5176cd235328ef3275ef0faf5c Mon Sep 17 00:00:00 2001 From: Jacob Graff Date: Wed, 19 Jun 2019 14:50:37 -0400 Subject: [PATCH 18/18] Remove incorrect AV_NOPTS_VALUE check --- fftools/ffmpeg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index e9bf389bf94fe..36b2c2c33d635 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1290,7 +1290,7 @@ static void do_video_out(OutputFile *of, while (1) { ret = avcodec_receive_packet(enc, &pkt); - if (pkt.duration == AV_NOPTS_VALUE || pkt.duration <= 0) + if (pkt.duration <= 0) pkt.duration = av_rescale_q(in_picture->pkt_duration, ost->mux_timebase, enc->time_base); update_benchmark("encode_video %d.%d", ost->file_index, ost->index); if (ret == AVERROR(EAGAIN))