diff mbox

[FFmpeg-devel] avcodec: rewrite gif muxing and encoding

Message ID 20181211150213.11197-1-onemda@gmail.com
State Accepted
Headers show

Commit Message

Paul B Mahol Dec. 11, 2018, 3:02 p.m. UTC
Now "-c copy" works.
Update FATE files.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavcodec/gif.c                | 127 +++++++-----
 libavformat/gif.c               | 242 ++++++++++------------
 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 ++++++++++++++++----------------
 8 files changed, 1217 insertions(+), 1228 deletions(-)

Comments

Carl Eugen Hoyos Dec. 11, 2018, 3:16 p.m. UTC | #1
2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
> Now "-c copy" works.

Please mention ticket #6640.

When using the commands there, the output file has a different
byte at position 0xbb06 (0x0a -> 0x05), do you know why?

Carl Eugen
Paul B Mahol Dec. 11, 2018, 4:18 p.m. UTC | #2
On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>> Now "-c copy" works.
>
> Please mention ticket #6640.
>
> When using the commands there, the output file has a different
> byte at position 0xbb06 (0x0a -> 0x05), do you know why?

Dunno, md5 of decoded output is same. I fixed some artifacts in last patch
Carl Eugen Hoyos Dec. 11, 2018, 4:35 p.m. UTC | #3
2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>> Now "-c copy" works.
>>
>> Please mention ticket #6640.
>>
>> When using the commands there, the output file has a different
>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>
> Dunno, md5 of decoded output is same. I fixed some artifacts in last patch

md5sum of original and decoded file is different here.

Carl Eugen
Paul B Mahol Dec. 11, 2018, 4:35 p.m. UTC | #4
On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>> Now "-c copy" works.
>>>
>>> Please mention ticket #6640.
>>>
>>> When using the commands there, the output file has a different
>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>
>> Dunno, md5 of decoded output is same. I fixed some artifacts in last patch
>
> md5sum of original and decoded file is different here.

Test latest patch.
Paul B Mahol Dec. 11, 2018, 4:37 p.m. UTC | #5
On 12/11/18, Paul B Mahol <onemda@gmail.com> wrote:
> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>> Now "-c copy" works.
>>>>
>>>> Please mention ticket #6640.
>>>>
>>>> When using the commands there, the output file has a different
>>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>>
>>> Dunno, md5 of decoded output is same. I fixed some artifacts in last
>>> patch
>>
>> md5sum of original and decoded file is different here.
>
> Test latest patch.
>

Test -f md5 - not md5sum.
Carl Eugen Hoyos Dec. 11, 2018, 4:39 p.m. UTC | #6
2018-12-11 17:37 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
> On 12/11/18, Paul B Mahol <onemda@gmail.com> wrote:
>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>> Now "-c copy" works.
>>>>>
>>>>> Please mention ticket #6640.
>>>>>
>>>>> When using the commands there, the output file has a different
>>>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>>>
>>>> Dunno, md5 of decoded output is same. I fixed some artifacts in last
>>>> patch
>>>
>>> md5sum of original and decoded file is different here.
>>
>> Test latest patch.

With the latest patch, md5sum of original and remuxed file are different
here.

> Test -f md5 - not md5sum.

How can you compare a file and FFmpeg's output with -f md5?

Carl Eugen
Paul B Mahol Dec. 11, 2018, 4:40 p.m. UTC | #7
On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 2018-12-11 17:37 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>> On 12/11/18, Paul B Mahol <onemda@gmail.com> wrote:
>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>>> Now "-c copy" works.
>>>>>>
>>>>>> Please mention ticket #6640.
>>>>>>
>>>>>> When using the commands there, the output file has a different
>>>>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>>>>
>>>>> Dunno, md5 of decoded output is same. I fixed some artifacts in last
>>>>> patch
>>>>
>>>> md5sum of original and decoded file is different here.
>>>
>>> Test latest patch.
>
> With the latest patch, md5sum of original and remuxed file are different
> here.
>

Of course, you found single byte change.

>> Test -f md5 - not md5sum.
>
> How can you compare a file and FFmpeg's output with -f md5?

You do not know? How so?
Carl Eugen Hoyos Dec. 11, 2018, 4:44 p.m. UTC | #8
2018-12-11 17:40 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> 2018-12-11 17:37 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>> On 12/11/18, Paul B Mahol <onemda@gmail.com> wrote:
>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>>>> Now "-c copy" works.
>>>>>>>
>>>>>>> Please mention ticket #6640.
>>>>>>>
>>>>>>> When using the commands there, the output file has a different
>>>>>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>>>>>
>>>>>> Dunno, md5 of decoded output is same. I fixed some artifacts in last
>>>>>> patch
>>>>>
>>>>> md5sum of original and decoded file is different here.
>>>>
>>>> Test latest patch.
>>
>> With the latest patch, md5sum of original and remuxed file are different
>> here.
>>
>
> Of course, you found single byte change.
>
>>> Test -f md5 - not md5sum.
>>
>> How can you compare a file and FFmpeg's output with -f md5?
>
> You do not know? How so?

I have no idea.

Carl Eugen
Paul B Mahol Dec. 12, 2018, 9:33 a.m. UTC | #9
On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 2018-12-11 17:40 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>> 2018-12-11 17:37 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>> On 12/11/18, Paul B Mahol <onemda@gmail.com> wrote:
>>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>>> 2018-12-11 17:18 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>>> On 12/11/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>>>>>>>> 2018-12-11 16:02 GMT+01:00, Paul B Mahol <onemda@gmail.com>:
>>>>>>>>> Now "-c copy" works.
>>>>>>>>
>>>>>>>> Please mention ticket #6640.
>>>>>>>>
>>>>>>>> When using the commands there, the output file has a different
>>>>>>>> byte at position 0xbb06 (0x0a -> 0x05), do you know why?
>>>>>>>
>>>>>>> Dunno, md5 of decoded output is same. I fixed some artifacts in last
>>>>>>> patch
>>>>>>
>>>>>> md5sum of original and decoded file is different here.
>>>>>
>>>>> Test latest patch.
>>>
>>> With the latest patch, md5sum of original and remuxed file are different
>>> here.
>>>
>>
>> Of course, you found single byte change.
>>
>>>> Test -f md5 - not md5sum.
>>>
>>> How can you compare a file and FFmpeg's output with -f md5?
>>
>> You do not know? How so?
>
> I have no idea.
>

It was about last packet duration, fixed locally.

Why pkt->duration is not propagated correctly when muxing?
So one does not need to delay writing by 1 packet.
Nicolas George Dec. 12, 2018, 1:15 p.m. UTC | #10
Paul B Mahol (2018-12-11):
> Now "-c copy" works.
> Update FATE files.
> 
> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> ---
>  libavcodec/gif.c                | 127 +++++++-----
>  libavformat/gif.c               | 242 ++++++++++------------
>  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 ++++++++++++++++----------------
>  8 files changed, 1217 insertions(+), 1228 deletions(-)

Please document why you need to rewrite the encoder in order to get
muxing working.

Regards,
Paul B Mahol Dec. 12, 2018, 2:10 p.m. UTC | #11
On 12/12/18, Nicolas George <george@nsup.org> wrote:
> Paul B Mahol (2018-12-11):
>> Now "-c copy" works.
>> Update FATE files.
>>
>> Signed-off-by: Paul B Mahol <onemda@gmail.com>
>> ---
>>  libavcodec/gif.c                | 127 +++++++-----
>>  libavformat/gif.c               | 242 ++++++++++------------
>>  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 ++++++++++++++++----------------
>>  8 files changed, 1217 insertions(+), 1228 deletions(-)
>
> Please document why you need to rewrite the encoder in order to get
> muxing working.

It needs that because decoder & demuxer work that way.
Nicolas George Dec. 12, 2018, 2:12 p.m. UTC | #12
Paul B Mahol (2018-12-12):
> It needs that because decoder & demuxer work that way.

This answer do not say anything. Please elaborate enough as to be
convincing. And put it in the commit message.

Regards,
Paul B Mahol Dec. 12, 2018, 2:32 p.m. UTC | #13
On 12/12/18, Nicolas George <george@nsup.org> wrote:
> Paul B Mahol (2018-12-12):
>> It needs that because decoder & demuxer work that way.
>
> This answer do not say anything. Please elaborate enough as to be
> convincing. And put it in the commit message.

Demuxer only split file into small packets, no data is trimmed.
Encoder & muxer currently expect completely another format
where muxer writes stuff like disposal method which should
be really encoder job.
With this patch muxer only modifies delay between two packets.
Codec copy need to have same behavior between demuxer and
muxer to work correctly.
Nicolas George Dec. 12, 2018, 2:38 p.m. UTC | #14
Paul B Mahol (2018-12-12):
> Demuxer only split file into small packets, no data is trimmed.
> Encoder & muxer currently expect completely another format
> where muxer writes stuff like disposal method which should
> be really encoder job.
> With this patch muxer only modifies delay between two packets.
> Codec copy need to have same behavior between demuxer and
> muxer to work correctly.

Thank you, this is convincing. In the commit message please.

Regards,
diff mbox

Patch

diff --git a/libavcodec/gif.c b/libavcodec/gif.c
index d9c99d52cf..a078e68a2c 100644
--- a/libavcodec/gif.c
+++ b/libavcodec/gif.c
@@ -39,17 +39,20 @@ 
 
 #include "put_bits.h"
 
+#define DEFAULT_TRANSPARENCY_INDEX 0x1f
+
 typedef struct GIFContext {
     const AVClass *class;
     LZWState *lzw;
     uint8_t *buf;
     int buf_size;
+    int is_first_frame;
     AVFrame *last_frame;
     int flags;
     uint32_t palette[AVPALETTE_COUNT];  ///< local reference palette for !pal8
+    uint32_t new_palette[AVPALETTE_COUNT];
     int palette_loaded;
     int transparent_index;
-    uint8_t *pal_exdata;
     uint8_t *tmpl;                      ///< temporary line buffer
 } GIFContext;
 
@@ -58,6 +61,24 @@  enum {
     GF_TRANSDIFF  = 1<<1,
 };
 
+static int get_palette_transparency_index(const uint32_t *palette)
+{
+    int transparent_color_index = -1;
+    unsigned i, smallest_alpha = 0xff;
+
+    if (!palette)
+        return -1;
+
+    for (i = 0; i < AVPALETTE_COUNT; i++) {
+        const uint32_t v = palette[i];
+        if (v >> 24 < smallest_alpha) {
+            smallest_alpha = v >> 24;
+            transparent_color_index = i;
+        }
+    }
+    return smallest_alpha < 128 ? transparent_color_index : -1;
+}
+
 static int pick_palette_entry(const uint8_t *buf, int linesize, int w, int h)
 {
     int histogram[AVPALETTE_COUNT] = {0};
@@ -83,7 +104,7 @@  static int gif_image_write_image(AVCodecContext *avctx,
     GIFContext *s = avctx->priv_data;
     int len = 0, height = avctx->height, width = avctx->width, x, y;
     int x_start = 0, y_start = 0, trans = s->transparent_index;
-    int honor_transparency = (s->flags & GF_TRANSDIFF) && s->last_frame && !palette;
+    int bcid = -1, honor_transparency = (s->flags & GF_TRANSDIFF) && s->last_frame && !palette;
     const uint8_t *ptr;
 
     /* Crop image */
@@ -137,6 +158,59 @@  static int gif_image_write_image(AVCodecContext *avctx,
                width, height, x_start, y_start, avctx->width, avctx->height);
     }
 
+    if (s->is_first_frame) { /* GIF header */
+        const uint32_t *global_palette = palette ? palette : s->palette;
+        const AVRational sar = avctx->sample_aspect_ratio;
+        int64_t aspect = 0;
+
+        if (sar.num > 0 && sar.den > 0) {
+            aspect = sar.num * 64LL / sar.den - 15;
+            if (aspect < 0 || aspect > 255)
+                aspect = 0;
+        }
+
+        bytestream_put_buffer(bytestream, gif89a_sig, sizeof(gif89a_sig));
+        bytestream_put_le16(bytestream, avctx->width);
+        bytestream_put_le16(bytestream, avctx->height);
+
+        bcid = get_palette_transparency_index(global_palette);
+
+        bytestream_put_byte(bytestream, 0xf7); /* flags: global clut, 256 entries */
+        bytestream_put_byte(bytestream, bcid < 0 ? DEFAULT_TRANSPARENCY_INDEX : bcid); /* background color index */
+        bytestream_put_byte(bytestream, aspect);
+        for (int i = 0; i < 256; i++) {
+            const uint32_t v = global_palette[i] & 0xffffff;
+            bytestream_put_be24(bytestream, v);
+        }
+
+        s->is_first_frame = 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 {
+            uint32_t *new_palette = s->new_palette;
+
+            memcpy(new_palette, s->palette, AVPALETTE_SIZE);
+            new_palette[trans*4 + 3*!HAVE_BIGENDIAN] = 0x00;
+            palette = new_palette;
+        }
+    }
+
+    bcid = (trans >= 0 && honor_transparency) ? trans: get_palette_transparency_index(palette);
+
+    /* graphic control extension */
+    bytestream_put_byte(bytestream, GIF_EXTENSION_INTRODUCER);
+    bytestream_put_byte(bytestream, GIF_GCE_EXT_LABEL);
+    bytestream_put_byte(bytestream, 0x04); /* block size */
+    bytestream_put_byte(bytestream, 1<<2 | (bcid >= 0));
+    bytestream_put_le16(bytestream, 5); // default delay
+    bytestream_put_byte(bytestream, bcid < 0 ? DEFAULT_TRANSPARENCY_INDEX : bcid);
+    bytestream_put_byte(bytestream, 0x00);
+
     /* image block */
     bytestream_put_byte(bytestream, GIF_IMAGE_SEPARATOR);
     bytestream_put_le16(bytestream, x_start);
@@ -155,24 +229,6 @@  static int gif_image_write_image(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,
@@ -230,6 +286,7 @@  FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 
     s->transparent_index = -1;
+    s->is_first_frame = 1;
 
     s->lzw = av_mallocz(ff_lzw_encode_state_size);
     s->buf_size = avctx->width*avctx->height*2 + 1000;
@@ -244,25 +301,6 @@  FF_ENABLE_DEPRECATION_WARNINGS
     return 0;
 }
 
-/* FIXME: duplicated with lavc */
-static int get_palette_transparency_index(const uint32_t *palette)
-{
-    int transparent_color_index = -1;
-    unsigned i, smallest_alpha = 0xff;
-
-    if (!palette)
-        return -1;
-
-    for (i = 0; i < AVPALETTE_COUNT; i++) {
-        const uint32_t v = palette[i];
-        if (v >> 24 < smallest_alpha) {
-            smallest_alpha = v >> 24;
-            transparent_color_index = i;
-        }
-    }
-    return smallest_alpha < 128 ? transparent_color_index : -1;
-}
-
 static int gif_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                             const AVFrame *pict, int *got_packet)
 {
@@ -277,22 +315,12 @@  static int gif_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     end        = pkt->data + pkt->size;
 
     if (avctx->pix_fmt == AV_PIX_FMT_PAL8) {
-        uint8_t *pal_exdata = av_packet_new_side_data(pkt, AV_PKT_DATA_PALETTE, AVPALETTE_SIZE);
-        if (!pal_exdata)
-            return AVERROR(ENOMEM);
-        memcpy(pal_exdata, pict->data[1], AVPALETTE_SIZE);
         palette = (uint32_t*)pict->data[1];
 
-        s->pal_exdata = pal_exdata;
-
-        /* The first palette with PAL8 will be used as generic palette by the
-         * muxer so we don't need to write it locally in the packet. We store
-         * it as a reference here in case it changes later. */
         if (!s->palette_loaded) {
             memcpy(s->palette, palette, AVPALETTE_SIZE);
             s->transparent_index = get_palette_transparency_index(palette);
             s->palette_loaded = 1;
-            palette = NULL;
         } else if (!memcmp(s->palette, palette, AVPALETTE_SIZE)) {
             palette = NULL;
         }
@@ -305,6 +333,7 @@  static int gif_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
         if (!s->last_frame)
             return AVERROR(ENOMEM);
     }
+
     av_frame_unref(s->last_frame);
     ret = av_frame_ref(s->last_frame, (AVFrame*)pict);
     if (ret < 0)
diff --git a/libavformat/gif.c b/libavformat/gif.c
index 62d995a907..e67a3d9e1e 100644
--- a/libavformat/gif.c
+++ b/libavformat/gif.c
@@ -27,94 +27,21 @@ 
 #include "libavutil/imgutils.h"
 #include "libavutil/log.h"
 #include "libavutil/opt.h"
+#include "libavcodec/bytestream.h"
 #include "libavcodec/gif.h"
 
-/* XXX: random value that shouldn't be taken into effect if there is no
- * transparent color in the palette (the transparency bit will be set to 0) */
-#define DEFAULT_TRANSPARENCY_INDEX 0x1f
-
-static int get_palette_transparency_index(const uint32_t *palette)
-{
-    int transparent_color_index = -1;
-    unsigned i, smallest_alpha = 0xff;
-
-    if (!palette)
-        return -1;
-
-    for (i = 0; i < AVPALETTE_COUNT; i++) {
-        const uint32_t v = palette[i];
-        if (v >> 24 < smallest_alpha) {
-            smallest_alpha = v >> 24;
-            transparent_color_index = i;
-        }
-    }
-    return smallest_alpha < 128 ? transparent_color_index : -1;
-}
-
-static int gif_image_write_header(AVIOContext *pb, AVStream *st,
-                                  int loop_count, uint32_t *palette)
-{
-    int i;
-    int64_t aspect = 0;
-    const AVRational sar = st->sample_aspect_ratio;
-
-    if (sar.num > 0 && sar.den > 0) {
-        aspect = sar.num * 64LL / sar.den - 15;
-        if (aspect < 0 || aspect > 255)
-            aspect = 0;
-    }
-
-    avio_write(pb, gif89a_sig, sizeof(gif89a_sig));
-    avio_wl16(pb, st->codecpar->width);
-    avio_wl16(pb, st->codecpar->height);
-
-    if (palette) {
-        const int bcid = get_palette_transparency_index(palette);
-
-        avio_w8(pb, 0xf7); /* flags: global clut, 256 entries */
-        avio_w8(pb, bcid < 0 ? DEFAULT_TRANSPARENCY_INDEX : bcid); /* background color index */
-        avio_w8(pb, aspect);
-        for (i = 0; i < 256; i++) {
-            const uint32_t v = palette[i] & 0xffffff;
-            avio_wb24(pb, v);
-        }
-    } else {
-        avio_w8(pb, 0); /* flags */
-        avio_w8(pb, 0); /* background color index */
-        avio_w8(pb, aspect);
-    }
-
-
-    if (loop_count >= 0 ) {
-        /* "NETSCAPE EXTENSION" for looped animation GIF */
-        avio_w8(pb, 0x21); /* GIF Extension code */
-        avio_w8(pb, 0xff); /* Application Extension Label */
-        avio_w8(pb, 0x0b); /* Length of Application Block */
-        avio_write(pb, "NETSCAPE2.0", sizeof("NETSCAPE2.0") - 1);
-        avio_w8(pb, 0x03); /* Length of Data Sub-Block */
-        avio_w8(pb, 0x01);
-        avio_wl16(pb, (uint16_t)loop_count);
-        avio_w8(pb, 0x00); /* Data Sub-block Terminator */
-    }
-
-    avio_flush(pb);
-    return 0;
-}
-
 typedef struct GIFContext {
     AVClass *class;
     int loop;
     int last_delay;
-    AVPacket *prev_pkt;
     int duration;
+    int64_t last_pos;
+    int have_end;
+    AVPacket *prev_pkt;
 } GIFContext;
 
 static int gif_write_header(AVFormatContext *s)
 {
-    GIFContext *gif = s->priv_data;
-    AVCodecParameters *video_par;
-    uint32_t palette[AVPALETTE_COUNT];
-
     if (s->nb_streams != 1 ||
         s->streams[0]->codecpar->codec_type != AVMEDIA_TYPE_VIDEO ||
         s->streams[0]->codecpar->codec_id   != AV_CODEC_ID_GIF) {
@@ -123,92 +50,123 @@  static int gif_write_header(AVFormatContext *s)
         return AVERROR(EINVAL);
     }
 
-    video_par = s->streams[0]->codecpar;
-
     avpriv_set_pts_info(s->streams[0], 64, 1, 100);
-    if (avpriv_set_systematic_pal2(palette, video_par->format) < 0) {
-        av_assert0(video_par->format == AV_PIX_FMT_PAL8);
-        /* delay header writing: we wait for the first palette to put it
-         * globally */
-    } else {
-        gif_image_write_header(s->pb, s->streams[0], gif->loop, palette);
-    }
 
     return 0;
 }
 
-static int flush_packet(AVFormatContext *s, AVPacket *new)
+static int gif_parse_packet(AVFormatContext *s, uint8_t *data, int size)
 {
-    GIFContext *gif = s->priv_data;
-    int size, bcid;
-    AVIOContext *pb = s->pb;
-    const uint32_t *palette;
-    AVPacket *pkt = gif->prev_pkt;
-
-    if (!pkt)
-        return 0;
+    GetByteContext gb;
+    int x;
+
+    bytestream2_init(&gb, data, size);
+
+    while (bytestream2_get_bytes_left(&gb) > 0) {
+        x = bytestream2_get_byte(&gb);
+        if (x != 0x21)
+            return 0;
+
+        x = bytestream2_get_byte(&gb);
+        while (x != 0xf9 && bytestream2_get_bytes_left(&gb) > 0) {
+            int block_size = bytestream2_get_byte(&gb);
+            if (!block_size)
+                break;
+            bytestream2_skip(&gb, block_size);
+        }
 
-    /* Mark one colour as transparent if the input palette contains at least
-     * one colour that is more than 50% transparent. */
-    palette = (uint32_t*)av_packet_get_side_data(pkt, AV_PKT_DATA_PALETTE, &size);
-    if (palette && size != AVPALETTE_SIZE) {
-        av_log(s, AV_LOG_ERROR, "Invalid palette extradata\n");
-        return AVERROR_INVALIDDATA;
+        if (x == 0xf9)
+            return bytestream2_tell(&gb) + 2;
     }
-    bcid = get_palette_transparency_index(palette);
 
+    return 0;
+}
+
+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 - gif->prev_pkt->pts);
+        return av_clip_uint16(new->pts - prev->pts);
     else if (!new && gif->last_delay >= 0)
-        gif->duration = gif->last_delay;
+        return gif->last_delay;
 
-    /* graphic control extension block */
-    avio_w8(pb, 0x21);
-    avio_w8(pb, 0xf9);
-    avio_w8(pb, 0x04); /* block size */
-    avio_w8(pb, 1<<2 | (bcid >= 0));
-    avio_wl16(pb, gif->duration);
-    avio_w8(pb, bcid < 0 ? DEFAULT_TRANSPARENCY_INDEX : bcid);
-    avio_w8(pb, 0x00);
-
-    avio_write(pb, pkt->data, pkt->size);
-
-    av_packet_unref(gif->prev_pkt);
-    if (new)
-        av_packet_ref(gif->prev_pkt, new);
-
-    return 0;
+    return 5;
 }
 
-static int gif_write_packet(AVFormatContext *s, AVPacket *pkt)
+static int gif_write_packet(AVFormatContext *s, AVPacket *new_pkt)
 {
     GIFContext *gif = s->priv_data;
-    AVStream *video_st = s->streams[0];
+    AVIOContext *pb = s->pb;
+    AVPacket *pkt = gif->prev_pkt;
 
     if (!gif->prev_pkt) {
         gif->prev_pkt = av_packet_alloc();
         if (!gif->prev_pkt)
             return AVERROR(ENOMEM);
+        return av_packet_ref(gif->prev_pkt, new_pkt);
+    }
 
-        /* Write the first palette as global palette */
-        if (video_st->codecpar->format == AV_PIX_FMT_PAL8) {
-            int size;
-            void *palette = av_packet_get_side_data(pkt, AV_PKT_DATA_PALETTE, &size);
-
-            if (!palette) {
-                av_log(s, AV_LOG_ERROR, "PAL8 packet is missing palette in extradata\n");
-                return AVERROR_INVALIDDATA;
-            }
-            if (size != AVPALETTE_SIZE) {
-                av_log(s, AV_LOG_ERROR, "Invalid palette extradata\n");
-                return AVERROR_INVALIDDATA;
-            }
-            gif_image_write_header(s->pb, video_st, gif->loop, palette);
+    gif->last_pos = avio_tell(pb);
+    if (pkt->size > 0)
+        gif->have_end = pkt->data[pkt->size - 1] == GIF_TRAILER;
+
+    if (!gif->last_pos) {
+        int delay_pos;
+        int off = 13;
+
+        if (pkt->size < 13)
+            return AVERROR(EINVAL);
+
+        if (pkt->data[10] & 0x80)
+            off += 3 * (1 << ((pkt->data[10] & 0x07) + 1));
+
+        if (pkt->size < off + 2)
+            return AVERROR(EINVAL);
+
+        avio_write(pb, pkt->data, off);
+
+        if (pkt->data[off] == 0x21 && pkt->data[off + 1] == 0xff)
+            off += 19;
+
+        if (pkt->size <= off)
+            return AVERROR(EINVAL);
+
+        /* "NETSCAPE EXTENSION" for looped animation GIF */
+        if (gif->loop >= 0) {
+            avio_w8(pb, 0x21); /* GIF Extension code */
+            avio_w8(pb, 0xff); /* Application Extension Label */
+            avio_w8(pb, 0x0b); /* Length of Application Block */
+            avio_write(pb, "NETSCAPE2.0", sizeof("NETSCAPE2.0") - 1);
+            avio_w8(pb, 0x03); /* Length of Data Sub-Block */
+            avio_w8(pb, 0x01);
+            avio_wl16(pb, (uint16_t)gif->loop);
+            avio_w8(pb, 0x00); /* Data Sub-block Terminator */
         }
 
-        return av_packet_ref(gif->prev_pkt, pkt);
+        delay_pos = gif_parse_packet(s, pkt->data + off, pkt->size - off);
+        if (delay_pos > 0 && delay_pos < pkt->size - off - 2) {
+            avio_write(pb, pkt->data + off, delay_pos);
+            avio_wl16(pb, gif_get_delay(gif, pkt, new_pkt));
+            avio_write(pb, pkt->data + off + delay_pos + 2, pkt->size - off - delay_pos - 2);
+        } else {
+            avio_write(pb, pkt->data + off, pkt->size - off);
+        }
+    } else {
+        int delay_pos = gif_parse_packet(s, pkt->data, pkt->size);
+
+        if (delay_pos > 0 && delay_pos < pkt->size - 2) {
+            avio_write(pb, pkt->data, delay_pos);
+            avio_wl16(pb, gif_get_delay(gif, pkt, new_pkt));
+            avio_write(pb, pkt->data + delay_pos + 2, pkt->size - delay_pos - 2);
+        } else {
+            avio_write(pb, pkt->data, pkt->size);
+        }
     }
-    return flush_packet(s, pkt);
+
+    av_packet_unref(gif->prev_pkt);
+    if (new_pkt)
+        av_packet_ref(gif->prev_pkt, new_pkt);
+
+     return 0;
 }
 
 static int gif_write_trailer(AVFormatContext *s)
@@ -216,9 +174,11 @@  static int gif_write_trailer(AVFormatContext *s)
     GIFContext *gif = s->priv_data;
     AVIOContext *pb = s->pb;
 
-    flush_packet(s, NULL);
-    av_freep(&gif->prev_pkt);
-    avio_w8(pb, 0x3b);
+    gif_write_packet(s, NULL);
+
+    if (!gif->have_end)
+        avio_w8(pb, GIF_TRAILER);
+    av_packet_free(&gif->prev_pkt);
 
     return 0;
 }
diff --git a/tests/ref/fate/gifenc-bgr4_byte b/tests/ref/fate/gifenc-bgr4_byte
index 3495a8bbed..78860f109c 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,     1297, 0x53e8b1c1
+0,          1,          1,        1,      989, 0x9bbae78c
+0,          2,          2,        1,      907, 0x52e7c53b
+0,          3,          3,        1,     1160, 0x497142ee
+0,          4,          4,        1,     1157, 0x87b63f75
+0,          5,          5,        1,     1206, 0xb28a4f6b
+0,          6,          6,        1,     1294, 0x59a974e4
+0,          7,          7,        1,     1311, 0x2b5482e7
+0,          8,          8,        1,     1214, 0x23665384
+0,          9,          9,        1,     1699, 0x9d733f40
+0,         10,         10,        1,     1470, 0xceb8e55a
+0,         11,         11,        1,     1970, 0x73d5c66a
+0,         12,         12,        1,     2067, 0x2c35ef52
+0,         13,         13,        1,     2021, 0x1947ce9b
+0,         14,         14,        1,     2106, 0x4cf9ed59
+0,         15,         15,        1,     2052, 0x19bfd491
+0,         16,         16,        1,     2251, 0x7c8b33b3
+0,         17,         17,        1,     2560, 0xa8e4e6a5
+0,         18,         18,        1,     2451, 0x8be99654
+0,         19,         19,        1,     2285, 0xe29145ce
+0,         20,         20,        1,     2481, 0xf172b594
+0,         21,         21,        1,     2521, 0xd5f1b973
+0,         22,         22,        1,     2418, 0xb6749e04
+0,         23,         23,        1,     2494, 0x19f3ba7d
+0,         24,         24,        1,     2676, 0xcc4a159f
+0,         25,         25,        1,     2583, 0x08aaedef
+0,         26,         26,        1,     2691, 0xe12e1f12
+0,         27,         27,        1,     2876, 0xa7fc6c31
+0,         28,         28,        1,     3476, 0x1bdf8c59
+0,         29,         29,        1,     3449, 0xea8d43db
+0,         30,         30,        1,     3671, 0x23f9e40c
+0,         31,         31,        1,     4033, 0xb8dd6af2
+0,         32,         32,        1,     3955, 0xaf7a5d09
+0,         33,         33,        1,     4072, 0x291182fd
+0,         34,         34,        1,     4376, 0xf7491202
+0,         35,         35,        1,     4475, 0x94fb3bb1
+0,         36,         36,        1,     4590, 0xfc546fc2
+0,         37,         37,        1,     4403, 0x32841975
+0,         38,         38,        1,     3726, 0x2512fc14
+0,         39,         39,        1,     3862, 0x47c92b90
+0,         40,         40,        1,     3870, 0xdb492121
+0,         41,         41,        1,     4232, 0x0b5dc841
+0,         42,         42,        1,     4884, 0xc521f825
+0,         43,         43,        1,     4993, 0x9f9af763
+0,         44,         44,        1,     4389, 0x6445e942
+0,         45,         45,        1,     4686, 0x4f708260
+0,         46,         46,        1,     5237, 0xf7837f0b
+0,         47,         47,        1,     5369, 0x2198c990
+0,         48,         48,        1,     5598, 0xa1493451
+0,         49,         49,        1,     6174, 0xb2005eec
+0,         50,         50,        1,     6042, 0xf8d13178
+0,         51,         51,        1,     6192, 0x116d7fbb
+0,         52,         52,        1,     6295, 0x5160a2de
+0,         53,         53,        1,     6477, 0x4bb6f85b
+0,         54,         54,        1,     6936, 0x844eda42
+0,         55,         55,        1,     7009, 0x37e8ecdd
+0,         56,         56,        1,     6687, 0x493060e4
+0,         57,         57,        1,     6773, 0xc90e95e3
+0,         58,         58,        1,     6722, 0x921389cd
+0,         59,         59,        1,     7244, 0xee7d675a
+0,         60,         60,        1,     7513, 0xa82ad56b
+0,         61,         61,        1,     7051, 0x54412b1a
+0,         62,         62,        1,     7417, 0x7351d66c
+0,         63,         63,        1,     7154, 0x36c3220e
+0,         64,         64,        1,     7033, 0x3d9bf41e
+0,         65,         65,        1,     7684, 0x8b290bea
+0,         66,         66,        1,     8006, 0x6f77c08d
+0,         67,         67,        1,     8332, 0xa51742e0
+0,         68,         68,        1,     8189, 0x6bc50c72
+0,         69,         69,        1,     8252, 0xac99432f
+0,         70,         70,        1,     8372, 0x7e177fff
+0,         71,         71,        1,     8532, 0xfdb7a17f
+0,         72,         72,        1,     8791, 0x7a86064d
+0,         73,         73,        1,     8904, 0x040d59f9
+0,         74,         74,        1,     8877, 0x20374f70
+0,         75,         75,        1,     8639, 0x5c5cd9bc
+0,         76,         76,        1,     8736, 0x46652d50
+0,         77,         77,        1,     9014, 0x56cf88c1
+0,         78,         78,        1,     9097, 0x9439e61b
+0,         79,         79,        1,     9338, 0xacd05bf9
+0,         80,         80,        1,     9522, 0x8850a966
+0,         81,         81,        1,     9354, 0x6643408f
+0,         82,         82,        1,     9654, 0xa364f5d8
+0,         83,         83,        1,     9853, 0x3f45f3b5
+0,         84,         84,        1,    10086, 0x1ba09348
+0,         85,         85,        1,    10170, 0x2158dedd
+0,         86,         86,        1,     9937, 0x53593155
+0,         87,         87,        1,    10238, 0x70e5d282
+0,         88,         88,        1,    10426, 0xc2022f3c
+0,         89,         89,        1,    10477, 0xdc32380e
+0,         90,         90,        1,    10299, 0x93abd842
+0,         91,         91,        1,    10667, 0x60a4aa52
+0,         92,         92,        1,    10781, 0x128ae5a6
+0,         93,         93,        1,    10814, 0xf8a1c8e4
+0,         94,         94,        1,    10862, 0xb589e14c
+0,         95,         95,        1,    11214, 0x5dc09a9e
+0,         96,         96,        1,    11359, 0xf18ef036
+0,         97,         97,        1,    11357, 0xc7f61bbc
+0,         98,         98,        1,    11583, 0xc33a72b1
+0,         99,         99,        1,    11887, 0x176ae7d2
+0,        100,        100,        1,    11970, 0xbca90741
+0,        101,        101,        1,    12016, 0x2b6a3d0d
+0,        102,        102,        1,    12259, 0x9b0d8f93
+0,        103,        103,        1,    12456, 0x1887f780
+0,        104,        104,        1,    12561, 0x012c5361
+0,        105,        105,        1,    12212, 0xd158a3c8
+0,        106,        106,        1,    12704, 0xb7a46575
+0,        107,        107,        1,    12708, 0x4d80588c
+0,        108,        108,        1,    13057, 0x48380b21
+0,        109,        109,        1,    13110, 0x80341b46
+0,        110,        110,        1,    13228, 0xe9ff4d56
+0,        111,        111,        1,    13471, 0x734cd6ed
+0,        112,        112,        1,    13444, 0x6c68eb38
+0,        113,        113,        1,    13733, 0x454a3b5a
+0,        114,        114,        1,    13830, 0x79377b28
+0,        115,        115,        1,    13923, 0xc4b3c77c
+0,        116,        116,        1,    13947, 0x8faeb51e
+0,        117,        117,        1,    13974, 0xe68ff493
+0,        118,        118,        1,    13987, 0xb5f0fd52
+0,        119,        119,        1,    13986, 0x05c6fcc6
+0,        120,        120,        1,    14243, 0xb8df3cf6
+0,        121,        121,        1,    14441, 0x7cec79ac
+0,        122,        122,        1,    14468, 0x39d587a7
+0,        123,        123,        1,    14597, 0xc470ca21
+0,        124,        124,        1,    14722, 0xb57e2e03
+0,        125,        125,        1,    14839, 0x8ca36ec3
+0,        126,        126,        1,    14900, 0x5a5b668f
+0,        127,        127,        1,    15107, 0x350cecea
+0,        128,        128,        1,    15245, 0x36224029
+0,        129,        129,        1,    15312, 0x61d53e10
+0,        130,        130,        1,    15384, 0xdd836d1c
+0,        131,        131,        1,    15674, 0x084fc14d
+0,        132,        132,        1,    15754, 0xdf963bb8
+0,        133,        133,        1,    15918, 0xcfb571da
+0,        134,        134,        1,    15905, 0x220156b5
+0,        135,        135,        1,    16019, 0x53e4acfa
+0,        136,        136,        1,    16113, 0x97dcfdfa
+0,        137,        137,        1,    16414, 0x457f3cce
+0,        138,        138,        1,    16688, 0x5573bb71
+0,        139,        139,        1,    16817, 0xc298de05
+0,        140,        140,        1,    17004, 0x6fbf9bf4
+0,        141,        141,        1,    17038, 0x0633861f
+0,        142,        142,        1,    17147, 0x796ba3b1
+0,        143,        143,        1,    17437, 0x1aec4160
+0,        144,        144,        1,    17693, 0x921ab3a4
+0,        145,        145,        1,    17925, 0x4032660f
+0,        146,        146,        1,    17948, 0xf602506d
+0,        147,        147,        1,    18091, 0x2e41446e
+0,        148,        148,        1,    18173, 0xfe87ace1
+0,        149,        149,        1,    18207, 0x68818ea1
+0,        150,        150,        1,    18352, 0x52f4ee6c
+0,        151,        151,        1,    18540, 0x5a9a292e
+0,        152,        152,        1,    18602, 0xd96f1b25
+0,        153,        153,        1,    18694, 0xab76376d
+0,        154,        154,        1,    18599, 0xee9c5ae7
+0,        155,        155,        1,    18918, 0x2e6bbd68
+0,        156,        156,        1,    19033, 0xb9201dfa
+0,        157,        157,        1,    19113, 0xc00c5e47
+0,        158,        158,        1,    19069, 0x9249d325
+0,        159,        159,        1,    19194, 0x618158c6
+0,        160,        160,        1,    19383, 0xb2c7e2ef
+0,        161,        161,        1,    19692, 0xc91b5794
+0,        162,        162,        1,    19849, 0xa4039fb5
+0,        163,        163,        1,    19944, 0x52f499f5
+0,        164,        164,        1,    19986, 0xa3de9daa
+0,        165,        165,        1,    20174, 0x9b33ff85
+0,        166,        166,        1,    20256, 0xc6d93a29
+0,        167,        167,        1,    20435, 0x0f8fac47
+0,        168,        168,        1,    20448, 0x7b47b112
+0,        169,        169,        1,    20712, 0x2265fe49
+0,        170,        170,        1,    20751, 0x85b73680
+0,        171,        171,        1,    20797, 0xa4db2993
+0,        172,        172,        1,    20836, 0x886513d5
diff --git a/tests/ref/fate/gifenc-bgr8 b/tests/ref/fate/gifenc-bgr8
index 0a4e5d48cd..9403ba01a8 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,     1341, 0xe4e2af18
+0,          1,          1,        1,     1073, 0xf5cc0776
+0,          2,          2,        1,     1214, 0xeb5a4afc
+0,          3,          3,        1,     1226, 0xafca4c8e
+0,          4,          4,        1,     1323, 0x73307a1c
+0,          5,          5,        1,     1390, 0xf6ed9cd8
+0,          6,          6,        1,     1418, 0xaf5a9c31
+0,          7,          7,        1,     1436, 0x33aab074
+0,          8,          8,        1,     1597, 0x61cdf5dd
+0,          9,          9,        1,     1933, 0x03f5aa73
+0,         10,         10,        1,      955, 0x73bace4e
+0,         11,         11,        1,     2109, 0xf41bec0e
+0,         12,         12,        1,     2414, 0xb3858b58
+0,         13,         13,        1,     2307, 0xf2076118
+0,         14,         14,        1,     2496, 0x1b29c2be
+0,         15,         15,        1,     2686, 0x51d8fff0
+0,         16,         16,        1,     2900, 0x25875e11
+0,         17,         17,        1,     3024, 0x379ea283
+0,         18,         18,        1,     3087, 0xc7ddb3d5
+0,         19,         19,        1,     3184, 0xcb8fec10
+0,         20,         20,        1,     3377, 0x16a33e38
+0,         21,         21,        1,     3463, 0x0a167db8
+0,         22,         22,        1,     3560, 0x738d8b27
+0,         23,         23,        1,     3660, 0xd4d2c3c8
+0,         24,         24,        1,     3758, 0xd98df7a7
+0,         25,         25,        1,     3877, 0x1eec18cd
+0,         26,         26,        1,     4029, 0x535c70db
+0,         27,         27,        1,     4105, 0x7881a102
+0,         28,         28,        1,     4348, 0x3e010781
+0,         29,         29,        1,     4583, 0x1e9a76d4
+0,         30,         30,        1,     3526, 0x157e9905
+0,         31,         31,        1,     4807, 0x8a9aecd8
+0,         32,         32,        1,     3801, 0x681318fd
+0,         33,         33,        1,     5071, 0x36dc880a
+0,         34,         34,        1,     2820, 0xcfb2361c
+0,         35,         35,        1,     3988, 0xe3d56bce
+0,         36,         36,        1,     3068, 0x1ba4e006
+0,         37,         37,        1,     4409, 0x65c91610
+0,         38,         38,        1,     4328, 0x0867f162
+0,         39,         39,        1,     4466, 0x94ce5899
+0,         40,         40,        1,     2335, 0x48d6722b
+0,         41,         41,        1,     1730, 0x4a0a475a
+0,         42,         42,        1,     1049, 0x97f7f66d
+0,         43,         43,        1,     1706, 0x25242da5
+0,         44,         44,        1,     1047, 0xc81bfd66
+0,         45,         45,        1,      972, 0xf9c6cec0
+0,         46,         46,        1,     5075, 0x9b048a27
+0,         47,         47,        1,     5671, 0x90a1bd3e
+0,         48,         48,        1,     5704, 0x184896a9
+0,         49,         49,        1,     5717, 0xd4b6d4ac
+0,         50,         50,        1,     4930, 0xfdef2914
+0,         51,         51,        1,     5454, 0x14203d31
+0,         52,         52,        1,     5517, 0x3bc83262
+0,         53,         53,        1,     5758, 0x6404d3a7
+0,         54,         54,        1,     5955, 0xa4394382
+0,         55,         55,        1,     5822, 0x0fe100b4
+0,         56,         56,        1,     5916, 0xbfe63690
+0,         57,         57,        1,     5077, 0xf0816c20
+0,         58,         58,        1,     5855, 0x02271ae2
+0,         59,         59,        1,     6060, 0x3d8c6094
+0,         60,         60,        1,     6202, 0xe93a929f
+0,         61,         61,        1,     5421, 0xb6f10617
+0,         62,         62,        1,     6039, 0x8aaf4c5e
+0,         63,         63,        1,     5997, 0x399340ab
+0,         64,         64,        1,     5993, 0xa88a18b3
+0,         65,         65,        1,     6171, 0xb7907c47
+0,         66,         66,        1,     5996, 0xf4c659a6
+0,         67,         67,        1,     6480, 0x42255a77
+0,         68,         68,        1,     6412, 0x29bd1f3c
+0,         69,         69,        1,     6594, 0xc9605c73
+0,         70,         70,        1,     6539, 0xbac252d1
+0,         71,         71,        1,     6892, 0x96e80829
+0,         72,         72,        1,     6845, 0xe33ee4e9
+0,         73,         73,        1,     6572, 0xfdad5725
+0,         74,         74,        1,     6775, 0x61ceb442
+0,         75,         75,        1,     6996, 0xaee72d50
+0,         76,         76,        1,     7150, 0xd9c16214
+0,         77,         77,        1,     7241, 0xc077e7e7
+0,         78,         78,        1,     7795, 0x5fc297c1
+0,         79,         79,        1,     8031, 0x6b223ea0
+0,         80,         80,        1,     8973, 0x644aebc4
+0,         81,         81,        1,     9134, 0xfa34f6ba
+0,         82,         82,        1,     8484, 0x58890b6c
+0,         83,         83,        1,     8188, 0x087c8d31
+0,         84,         84,        1,     8317, 0x840d9e26
+0,         85,         85,        1,     8724, 0x95334a6c
+0,         86,         86,        1,     9184, 0x79d450f5
+0,         87,         87,        1,     8832, 0x4c37926e
+0,         88,         88,        1,     8177, 0x658f2abc
+0,         89,         89,        1,     8270, 0xc2ce67ac
+0,         90,         90,        1,     8582, 0xa663f175
+0,         91,         91,        1,     8544, 0x60e2fbb9
+0,         92,         92,        1,     8525, 0x6166146f
+0,         93,         93,        1,     8823, 0x382591de
+0,         94,         94,        1,     8394, 0x9c71ada7
+0,         95,         95,        1,     8755, 0x5dc54c0b
+0,         96,         96,        1,    12838, 0x44bf0e06
+0,         97,         97,        1,    13093, 0x4a2353ca
+0,         98,         98,        1,    12993, 0xf2e8622a
+0,         99,         99,        1,    12003, 0x8dc20df9
+0,        100,        100,        1,    11884, 0xdc9b87cf
+0,        101,        101,        1,    12142, 0x04e309f6
+0,        102,        102,        1,    12672, 0xb675b29c
+0,        103,        103,        1,    12255, 0x5cb5febb
+0,        104,        104,        1,    14171, 0x490db5aa
+0,        105,        105,        1,    13689, 0x87ddc303
+0,        106,        106,        1,    14640, 0xc5766449
+0,        107,        107,        1,    14327, 0xc2dfe4a3
+0,        108,        108,        1,    14817, 0x7333e55a
+0,        109,        109,        1,    14920, 0x1e4eada5
+0,        110,        110,        1,    15053, 0x04c2b76d
+0,        111,        111,        1,    15200, 0x33365d4f
+0,        112,        112,        1,    15465, 0x36d62a96
+0,        113,        113,        1,    15374, 0x0ad0d417
+0,        114,        114,        1,    15989, 0xc62ffdce
+0,        115,        115,        1,    16201, 0x66a90c3a
+0,        116,        116,        1,    16371, 0xb24762b6
+0,        117,        117,        1,    16374, 0x5dc1f9da
+0,        118,        118,        1,    16639, 0xa547585c
+0,        119,        119,        1,    16493, 0xd6539859
+0,        120,        120,        1,    16854, 0x87f6a125
+0,        121,        121,        1,    17001, 0x7f11fde5
+0,        122,        122,        1,    16911, 0x63a371c2
+0,        123,        123,        1,    17437, 0x6f66b015
+0,        124,        124,        1,    17395, 0xcaa6b276
+0,        125,        125,        1,    17605, 0x974f1525
+0,        126,        126,        1,    17720, 0xb78c2b58
+0,        127,        127,        1,    17895, 0x3c9cc0db
+0,        128,        128,        1,    17926, 0xf2ad7a12
+0,        129,        129,        1,    18097, 0x985f47f1
+0,        130,        130,        1,    18171, 0x81e30866
+0,        131,        131,        1,    18442, 0x10187f36
+0,        132,        132,        1,    18506, 0x1479e178
+0,        133,        133,        1,    18710, 0x091a142c
+0,        134,        134,        1,    18720, 0x56656975
+0,        135,        135,        1,    19014, 0x06e67bfe
+0,        136,        136,        1,    19167, 0x7ed90eea
+0,        137,        137,        1,    19319, 0x9a6c3d10
+0,        138,        138,        1,    19715, 0x9c7b256d
+0,        139,        139,        1,    19921, 0x49837a5b
+0,        140,        140,        1,    19896, 0x1102fdb8
+0,        141,        141,        1,    19906, 0x9a924902
+0,        142,        142,        1,    20270, 0xdfbb01bc
+0,        143,        143,        1,    20310, 0xdf46f10d
+0,        144,        144,        1,    20523, 0xb6a12de9
+0,        145,        145,        1,    20890, 0x1b94bb08
+0,        146,        146,        1,    21033, 0x23972c24
+0,        147,        147,        1,    21146, 0x64159642
+0,        148,        148,        1,    21068, 0xb7064eef
+0,        149,        149,        1,    21267, 0x330ac8da
+0,        150,        150,        1,    21423, 0x89c82cdd
+0,        151,        151,        1,    21442, 0xf6da278b
+0,        152,        152,        1,    21783, 0xa843bbc2
+0,        153,        153,        1,    21834, 0xe638c023
+0,        154,        154,        1,    21929, 0x70eba7e2
+0,        155,        155,        1,    21854, 0x2eb5d527
+0,        156,        156,        1,    22234, 0xc6f8aea8
+0,        157,        157,        1,    22445, 0x632c4734
+0,        158,        158,        1,    22357, 0xc64f7700
+0,        159,        159,        1,    22430, 0xbaa70d42
+0,        160,        160,        1,    22763, 0xd7c7ea5d
+0,        161,        161,        1,    22981, 0x5132d83c
+0,        162,        162,        1,    23251, 0x3a693d13
+0,        163,        163,        1,    23266, 0x9826a0c8
+0,        164,        164,        1,    23236, 0x97bc2d8d
+0,        165,        165,        1,    23637, 0xdeac8c56
+0,        166,        166,        1,    23522, 0x26a1b72e
+0,        167,        167,        1,    23941, 0x2dd9c47f
+0,        168,        168,        1,    24049, 0xb38d2030
+0,        169,        169,        1,    23987, 0x4935dd3d
+0,        170,        170,        1,    24424, 0xd9605d18
+0,        171,        171,        1,    24451, 0x536dc4bf
+0,        172,        172,        1,    24650, 0x48fa0197
diff --git a/tests/ref/fate/gifenc-gray b/tests/ref/fate/gifenc-gray
index 81cdd1888e..b9da8d36ed 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,     1368, 0x6cf0befd
+0,          1,          1,        1,      926, 0xe9eabac1
+0,          2,          2,        1,      931, 0xe7acc42a
+0,          3,          3,        1,      920, 0x69cab746
+0,          4,          4,        1,      928, 0xb281bf63
+0,          5,          5,        1,      912, 0x9778bdba
+0,          6,          6,        1,      910, 0x3c71b774
+0,          7,          7,        1,      905, 0x192eb2ae
+0,          8,          8,        1,      899, 0x18aab17d
+0,          9,          9,        1,      899, 0x083bada0
+0,         10,         10,        1,      926, 0x91fbc1df
+0,         11,         11,        1,      910, 0xcdfeb023
+0,         12,         12,        1,      910, 0xe47bb06d
+0,         13,         13,        1,      899, 0x793eace7
+0,         14,         14,        1,      903, 0x2b7eb2b0
+0,         15,         15,        1,      895, 0xf61eac66
+0,         16,         16,        1,      914, 0xb6edb66d
+0,         17,         17,        1,      916, 0x8762bb10
+0,         18,         18,        1,      898, 0x0a38afc0
+0,         19,         19,        1,      899, 0xe691b171
+0,         20,         20,        1,      916, 0x0ff6bb69
+0,         21,         21,        1,      899, 0xd389b198
+0,         22,         22,        1,      899, 0x3e2db17c
+0,         23,         23,        1,      900, 0x94a9b21e
+0,         24,         24,        1,      898, 0xdb66b217
+0,         25,         25,        1,      898, 0x22b3b2fe
+0,         26,         26,        1,      899, 0x68abb202
+0,         27,         27,        1,      894, 0xecc0b19b
+0,         28,         28,        1,      935, 0xb122c581
+0,         29,         29,        1,      916, 0x1a22b1e2
+0,         30,         30,        1,      939, 0xfd0ac907
+0,         31,         31,        1,      918, 0xfbb3b4be
+0,         32,         32,        1,      946, 0x2687cb47
+0,         33,         33,        1,      922, 0x2a30b6c8
+0,         34,         34,        1,      908, 0x6fc6b4ce
+0,         35,         35,        1,      889, 0xbecfac0f
+0,         36,         36,        1,      908, 0x9b29b368
+0,         37,         37,        1,      896, 0xbb64ae84
+0,         38,         38,        1,      911, 0x011cb553
+0,         39,         39,        1,      899, 0xf2afb08d
+0,         40,         40,        1,      895, 0xb227ae24
+0,         41,         41,        1,      895, 0x020baf17
+0,         42,         42,        1,      896, 0xe3b4b1f3
+0,         43,         43,        1,      890, 0x7742acd2
+0,         44,         44,        1,      901, 0x8f06b6fb
+0,         45,         45,        1,      893, 0xe7a3b1b8
+0,         46,         46,        1,      892, 0x6f4aadb7
+0,         47,         47,        1,      900, 0xb871b471
+0,         48,         48,        1,      893, 0x79bbaee6
+0,         49,         49,        1,      911, 0xa08eb81b
+0,         50,         50,        1,      907, 0xea0fb633
+0,         51,         51,        1,      898, 0xd33fb498
+0,         52,         52,        1,      898, 0xcb3db516
+0,         53,         53,        1,      900, 0xe1bab544
+0,         54,         54,        1,      902, 0x9584b78e
+0,         55,         55,        1,      893, 0x6f47b278
+0,         56,         56,        1,      885, 0x9b57b01c
+0,         57,         57,        1,      896, 0xbff0ae6d
+0,         58,         58,        1,      896, 0xdd5eafe7
+0,         59,         59,        1,      898, 0xa64ab2b7
+0,         60,         60,        1,      892, 0x35d7ae1b
+0,         61,         61,        1,      895, 0x1e7cb1c3
+0,         62,         62,        1,      892, 0xd99baf6b
+0,         63,         63,        1,      895, 0x46deb001
+0,         64,         64,        1,      894, 0xf329b083
+0,         65,         65,        1,      913, 0xc7a2bd65
+0,         66,         66,        1,      925, 0x635ac034
+0,         67,         67,        1,      891, 0xa6e8afaa
+0,         68,         68,        1,      907, 0x822fbbf5
+0,         69,         69,        1,      891, 0x4facaf65
+0,         70,         70,        1,      876, 0xbd5eaa8d
+0,         71,         71,        1,      885, 0x2d61acc6
+0,         72,         72,        1,      896, 0x5dbab00b
+0,         73,         73,        1,      892, 0x0e57ac5b
+0,         74,         74,        1,      882, 0xfddaacd4
+0,         75,         75,        1,      872, 0x4e99a66e
+0,         76,         76,        1,      875, 0x2295a550
+0,         77,         77,        1,      895, 0x426cb451
+0,         78,         78,        1,      895, 0x96fbaf5e
+0,         79,         79,        1,      989, 0x4007dd81
+0,         80,         80,        1,      985, 0x7086dec9
+0,         81,         81,        1,      896, 0x41ebac09
+0,         82,         82,        1,      895, 0xbcccaf11
+0,         83,         83,        1,      900, 0x5d84b11c
+0,         84,         84,        1,      901, 0x4032b334
+0,         85,         85,        1,      899, 0x14b9b0bf
+0,         86,         86,        1,      895, 0x9b39b129
+0,         87,         87,        1,      895, 0x904cae4b
+0,         88,         88,        1,      883, 0xb73aad1f
+0,         89,         89,        1,      895, 0xdd74b35f
+0,         90,         90,        1,      891, 0x8283b0c7
+0,         91,         91,        1,      938, 0x5d4bc679
+0,         92,         92,        1,      900, 0xfbcfb0b6
+0,         93,         93,        1,      892, 0x6d27ad39
+0,         94,         94,        1,      860, 0x2855a336
+0,         95,         95,        1,      952, 0xf3ded435
+0,         96,         96,        1,      913, 0xc494b306
+0,         97,         97,        1,      955, 0xd488d2c0
+0,         98,         98,        1,      926, 0x10cdbcf3
+0,         99,         99,        1,      916, 0xeeb3b95f
+0,        100,        100,        1,      905, 0x550cb353
+0,        101,        101,        1,      922, 0x988ab959
+0,        102,        102,        1,      909, 0xa3eab198
+0,        103,        103,        1,      966, 0x9a77dbac
+0,        104,        104,        1,      935, 0xe3debffd
+0,        105,        105,        1,      964, 0x1045d19d
+0,        106,        106,        1,      939, 0x81a5c225
+0,        107,        107,        1,      920, 0x10fbb7c7
+0,        108,        108,        1,      912, 0xe1bab835
+0,        109,        109,        1,      926, 0x5860bac2
+0,        110,        110,        1,      910, 0x8fd6b9ce
+0,        111,        111,        1,      974, 0xc85cdbdf
+0,        112,        112,        1,      945, 0x64e8c5c1
+0,        113,        113,        1,      986, 0x8bd3dc19
+0,        114,        114,        1,      950, 0x227acaab
+0,        115,        115,        1,      913, 0x2c36b632
+0,        116,        116,        1,      898, 0x742db2b0
+0,        117,        117,        1,      928, 0x7147bb41
+0,        118,        118,        1,      913, 0x90bbba2c
+0,        119,        119,        1,      932, 0x847dc356
+0,        120,        120,        1,      916, 0x2e5cb971
+0,        121,        121,        1,      955, 0xc38ec66a
+0,        122,        122,        1,      892, 0x054bb158
+0,        123,        123,        1,      894, 0xfda9aefa
+0,        124,        124,        1,      899, 0x25e7b062
+0,        125,        125,        1,      901, 0xe98ab0ac
+0,        126,        126,        1,      970, 0x19c2d9ff
+0,        127,        127,        1,      898, 0x5912b25e
+0,        128,        128,        1,      900, 0xd0f6b340
+0,        129,        129,        1,      909, 0x93cbb5ff
+0,        130,        130,        1,      902, 0x3243b745
+0,        131,        131,        1,      984, 0x1d41ded7
+0,        132,        132,        1,      907, 0x96e9b53a
+0,        133,        133,        1,      890, 0xa4efb036
+0,        134,        134,        1,      905, 0x07abb7f9
+0,        135,        135,        1,      896, 0xcdd7b38e
+0,        136,        136,        1,      940, 0x8eafc61a
+0,        137,        137,        1,     1021, 0x7586f18f
+0,        138,        138,        1,      991, 0xcb2ddff3
+0,        139,        139,        1,     1001, 0x48d3e37e
+0,        140,        140,        1,      899, 0x8cffab99
+0,        141,        141,        1,      900, 0xb576afea
+0,        142,        142,        1,      901, 0x5d19b0d0
+0,        143,        143,        1,      898, 0x010bb2e5
+0,        144,        144,        1,     1000, 0xd960e184
+0,        145,        145,        1,     1015, 0xa9f8eb13
+0,        146,        146,        1,      903, 0xb6abb4eb
+0,        147,        147,        1,      902, 0x5ce3b21a
+0,        148,        148,        1,      900, 0xc1f9b170
+0,        149,        149,        1,      902, 0x1efab6c7
+0,        150,        150,        1,      899, 0x4d00b1a5
+0,        151,        151,        1,      893, 0x0ff5b067
+0,        152,        152,        1,      895, 0xd1cab0ad
+0,        153,        153,        1,      893, 0x7923b2b8
+0,        154,        154,        1,      925, 0x8c76c3ef
+0,        155,        155,        1,      903, 0x1256b8f1
+0,        156,        156,        1,      889, 0x026ab183
+0,        157,        157,        1,      904, 0x1587ba97
+0,        158,        158,        1,      887, 0xf871b10e
+0,        159,        159,        1,      922, 0xf245c52c
+0,        160,        160,        1,     1013, 0x1577e663
+0,        161,        161,        1,     1009, 0x85dee389
+0,        162,        162,        1,      936, 0x1c46c354
+0,        163,        163,        1,      901, 0x99e5b3fb
+0,        164,        164,        1,      907, 0x4cf2bbda
+0,        165,        165,        1,     1007, 0x34feedeb
+0,        166,        166,        1,      929, 0x1541c0c2
+0,        167,        167,        1,      902, 0x243fb693
+0,        168,        168,        1,      889, 0xcf73acc5
+0,        169,        169,        1,      901, 0x2cccb355
+0,        170,        170,        1,      898, 0xff96ade6
+0,        171,        171,        1,      921, 0xe64abeb8
+0,        172,        172,        1,      947, 0x9e8ccba5
diff --git a/tests/ref/fate/gifenc-pal8 b/tests/ref/fate/gifenc-pal8
index a6d5741992..c91c18d125 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,     2109, 0x39642b3d
+0,          1,          1,        1,     1073, 0xf5cc0776
+0,          2,          2,        1,     1214, 0xeb5a4afc
+0,          3,          3,        1,     1226, 0xafca4c8e
+0,          4,          4,        1,     1323, 0x73307a1c
+0,          5,          5,        1,     1390, 0xf6ed9cd8
+0,          6,          6,        1,     1418, 0xaf5a9c31
+0,          7,          7,        1,     1436, 0x33aab074
+0,          8,          8,        1,     1597, 0x61cdf5dd
+0,          9,          9,        1,     1933, 0x03f5aa73
+0,         10,         10,        1,      955, 0x73bace4e
+0,         11,         11,        1,     2109, 0xf41bec0e
+0,         12,         12,        1,     2414, 0xb3858b58
+0,         13,         13,        1,     2307, 0xf2076118
+0,         14,         14,        1,     2496, 0x1b29c2be
+0,         15,         15,        1,     2686, 0x51d8fff0
+0,         16,         16,        1,     2900, 0x25875e11
+0,         17,         17,        1,     3024, 0x379ea283
+0,         18,         18,        1,     3087, 0xc7ddb3d5
+0,         19,         19,        1,     3184, 0xcb8fec10
+0,         20,         20,        1,     3377, 0x16a33e38
+0,         21,         21,        1,     3463, 0x0a167db8
+0,         22,         22,        1,     3560, 0x738d8b27
+0,         23,         23,        1,     3660, 0xd4d2c3c8
+0,         24,         24,        1,     3758, 0xd98df7a7
+0,         25,         25,        1,     3877, 0x1eec18cd
+0,         26,         26,        1,     4029, 0x535c70db
+0,         27,         27,        1,     4105, 0x7881a102
+0,         28,         28,        1,     4348, 0x3e010781
+0,         29,         29,        1,     4583, 0x1e9a76d4
+0,         30,         30,        1,     3526, 0x157e9905
+0,         31,         31,        1,     4807, 0x8a9aecd8
+0,         32,         32,        1,     3801, 0x681318fd
+0,         33,         33,        1,     5071, 0x36dc880a
+0,         34,         34,        1,     2820, 0xcfb2361c
+0,         35,         35,        1,     3988, 0xe3d56bce
+0,         36,         36,        1,     3068, 0x1ba4e006
+0,         37,         37,        1,     4409, 0x65c91610
+0,         38,         38,        1,     4328, 0x0867f162
+0,         39,         39,        1,     4466, 0x94ce5899
+0,         40,         40,        1,     2335, 0x48d6722b
+0,         41,         41,        1,     1730, 0x4a0a475a
+0,         42,         42,        1,     1049, 0x97f7f66d
+0,         43,         43,        1,     1706, 0x25242da5
+0,         44,         44,        1,     1047, 0xc81bfd66
+0,         45,         45,        1,      972, 0xf9c6cec0
+0,         46,         46,        1,     5075, 0x9b048a27
+0,         47,         47,        1,     5671, 0x90a1bd3e
+0,         48,         48,        1,     5704, 0x184896a9
+0,         49,         49,        1,     5717, 0xd4b6d4ac
+0,         50,         50,        1,     4930, 0xfdef2914
+0,         51,         51,        1,     5454, 0x14203d31
+0,         52,         52,        1,     5517, 0x3bc83262
+0,         53,         53,        1,     5758, 0x6404d3a7
+0,         54,         54,        1,     5955, 0xa4394382
+0,         55,         55,        1,     5822, 0x0fe100b4
+0,         56,         56,        1,     5916, 0xbfe63690
+0,         57,         57,        1,     5077, 0xf0816c20
+0,         58,         58,        1,     5855, 0x02271ae2
+0,         59,         59,        1,     6060, 0x3d8c6094
+0,         60,         60,        1,     6202, 0xe93a929f
+0,         61,         61,        1,     5421, 0xb6f10617
+0,         62,         62,        1,     6039, 0x8aaf4c5e
+0,         63,         63,        1,     5997, 0x399340ab
+0,         64,         64,        1,     5993, 0xa88a18b3
+0,         65,         65,        1,     6171, 0xb7907c47
+0,         66,         66,        1,     5996, 0xf4c659a6
+0,         67,         67,        1,     6480, 0x42255a77
+0,         68,         68,        1,     6412, 0x29bd1f3c
+0,         69,         69,        1,     6594, 0xc9605c73
+0,         70,         70,        1,     6539, 0xbac252d1
+0,         71,         71,        1,     6892, 0x96e80829
+0,         72,         72,        1,     6845, 0xe33ee4e9
+0,         73,         73,        1,     6572, 0xfdad5725
+0,         74,         74,        1,     6775, 0x61ceb442
+0,         75,         75,        1,     6996, 0xaee72d50
+0,         76,         76,        1,     7150, 0xd9c16214
+0,         77,         77,        1,     7241, 0xc077e7e7
+0,         78,         78,        1,     7795, 0x5fc297c1
+0,         79,         79,        1,     8031, 0x6b223ea0
+0,         80,         80,        1,     8973, 0x644aebc4
+0,         81,         81,        1,     9134, 0xfa34f6ba
+0,         82,         82,        1,     8484, 0x58890b6c
+0,         83,         83,        1,     8188, 0x087c8d31
+0,         84,         84,        1,     8317, 0x840d9e26
+0,         85,         85,        1,     8724, 0x95334a6c
+0,         86,         86,        1,     9184, 0x79d450f5
+0,         87,         87,        1,     8832, 0x4c37926e
+0,         88,         88,        1,     8177, 0x658f2abc
+0,         89,         89,        1,     8270, 0xc2ce67ac
+0,         90,         90,        1,     8582, 0xa663f175
+0,         91,         91,        1,     8544, 0x60e2fbb9
+0,         92,         92,        1,     8525, 0x6166146f
+0,         93,         93,        1,     8823, 0x382591de
+0,         94,         94,        1,     8394, 0x9c71ada7
+0,         95,         95,        1,     8755, 0x5dc54c0b
+0,         96,         96,        1,    12838, 0x44bf0e06
+0,         97,         97,        1,    13093, 0x4a2353ca
+0,         98,         98,        1,    12993, 0xf2e8622a
+0,         99,         99,        1,    12003, 0x8dc20df9
+0,        100,        100,        1,    11884, 0xdc9b87cf
+0,        101,        101,        1,    12142, 0x04e309f6
+0,        102,        102,        1,    12672, 0xb675b29c
+0,        103,        103,        1,    12255, 0x5cb5febb
+0,        104,        104,        1,    14171, 0x490db5aa
+0,        105,        105,        1,    13689, 0x87ddc303
+0,        106,        106,        1,    14640, 0xc5766449
+0,        107,        107,        1,    14327, 0xc2dfe4a3
+0,        108,        108,        1,    14817, 0x7333e55a
+0,        109,        109,        1,    14920, 0x1e4eada5
+0,        110,        110,        1,    15053, 0x04c2b76d
+0,        111,        111,        1,    15200, 0x33365d4f
+0,        112,        112,        1,    15465, 0x36d62a96
+0,        113,        113,        1,    15374, 0x0ad0d417
+0,        114,        114,        1,    15989, 0xc62ffdce
+0,        115,        115,        1,    16201, 0x66a90c3a
+0,        116,        116,        1,    16371, 0xb24762b6
+0,        117,        117,        1,    16374, 0x5dc1f9da
+0,        118,        118,        1,    16639, 0xa547585c
+0,        119,        119,        1,    16493, 0xd6539859
+0,        120,        120,        1,    16854, 0x87f6a125
+0,        121,        121,        1,    17001, 0x7f11fde5
+0,        122,        122,        1,    16911, 0x63a371c2
+0,        123,        123,        1,    17437, 0x6f66b015
+0,        124,        124,        1,    17395, 0xcaa6b276
+0,        125,        125,        1,    17605, 0x974f1525
+0,        126,        126,        1,    17720, 0xb78c2b58
+0,        127,        127,        1,    17895, 0x3c9cc0db
+0,        128,        128,        1,    17926, 0xf2ad7a12
+0,        129,        129,        1,    18097, 0x985f47f1
+0,        130,        130,        1,    18171, 0x81e30866
+0,        131,        131,        1,    18442, 0x10187f36
+0,        132,        132,        1,    18506, 0x1479e178
+0,        133,        133,        1,    18710, 0x091a142c
+0,        134,        134,        1,    18720, 0x56656975
+0,        135,        135,        1,    19014, 0x06e67bfe
+0,        136,        136,        1,    19167, 0x7ed90eea
+0,        137,        137,        1,    19319, 0x9a6c3d10
+0,        138,        138,        1,    19715, 0x9c7b256d
+0,        139,        139,        1,    19921, 0x49837a5b
+0,        140,        140,        1,    19896, 0x1102fdb8
+0,        141,        141,        1,    19906, 0x9a924902
+0,        142,        142,        1,    20270, 0xdfbb01bc
+0,        143,        143,        1,    20310, 0xdf46f10d
+0,        144,        144,        1,    20523, 0xb6a12de9
+0,        145,        145,        1,    20890, 0x1b94bb08
+0,        146,        146,        1,    21033, 0x23972c24
+0,        147,        147,        1,    21146, 0x64159642
+0,        148,        148,        1,    21068, 0xb7064eef
+0,        149,        149,        1,    21267, 0x330ac8da
+0,        150,        150,        1,    21423, 0x89c82cdd
+0,        151,        151,        1,    21442, 0xf6da278b
+0,        152,        152,        1,    21783, 0xa843bbc2
+0,        153,        153,        1,    21834, 0xe638c023
+0,        154,        154,        1,    21929, 0x70eba7e2
+0,        155,        155,        1,    21854, 0x2eb5d527
+0,        156,        156,        1,    22234, 0xc6f8aea8
+0,        157,        157,        1,    22445, 0x632c4734
+0,        158,        158,        1,    22357, 0xc64f7700
+0,        159,        159,        1,    22430, 0xbaa70d42
+0,        160,        160,        1,    22763, 0xd7c7ea5d
+0,        161,        161,        1,    22981, 0x5132d83c
+0,        162,        162,        1,    23251, 0x3a693d13
+0,        163,        163,        1,    23266, 0x9826a0c8
+0,        164,        164,        1,    23236, 0x97bc2d8d
+0,        165,        165,        1,    23637, 0xdeac8c56
+0,        166,        166,        1,    23522, 0x26a1b72e
+0,        167,        167,        1,    23941, 0x2dd9c47f
+0,        168,        168,        1,    24049, 0xb38d2030
+0,        169,        169,        1,    23987, 0x4935dd3d
+0,        170,        170,        1,    24424, 0xd9605d18
+0,        171,        171,        1,    24451, 0x536dc4bf
+0,        172,        172,        1,    24650, 0x48fa0197
diff --git a/tests/ref/fate/gifenc-rgb4_byte b/tests/ref/fate/gifenc-rgb4_byte
index 067accd694..932bdc4ec5 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,     1297, 0x5618fe71
+0,          1,          1,        1,      989, 0xe2a2348d
+0,          2,          2,        1,      907, 0x3f271138
+0,          3,          3,        1,     1160, 0x22478c0d
+0,          4,          4,        1,     1157, 0xf3938ac2
+0,          5,          5,        1,     1206, 0x68889bcc
+0,          6,          6,        1,     1294, 0x28d8bf31
+0,          7,          7,        1,     1311, 0x89b5ceb0
+0,          8,          8,        1,     1214, 0x963da048
+0,          9,          9,        1,     1699, 0x66d58a61
+0,         10,         10,        1,     1470, 0x02513121
+0,         11,         11,        1,     1970, 0xf391138c
+0,         12,         12,        1,     2067, 0x69893c83
+0,         13,         13,        1,     2021, 0xaddf1c27
+0,         14,         14,        1,     2106, 0x012b38ca
+0,         15,         15,        1,     2052, 0xbae82016
+0,         16,         16,        1,     2251, 0xcc5e7e57
+0,         17,         17,        1,     2560, 0xa1e931b8
+0,         18,         18,        1,     2451, 0x784ae209
+0,         19,         19,        1,     2285, 0x5a9b92cf
+0,         20,         20,        1,     2481, 0xdf1efe2b
+0,         21,         21,        1,     2521, 0xe6e9069a
+0,         22,         22,        1,     2418, 0x12fae849
+0,         23,         23,        1,     2494, 0xbf3b03c9
+0,         24,         24,        1,     2676, 0x72d6611a
+0,         25,         25,        1,     2583, 0xfa1a3851
+0,         26,         26,        1,     2691, 0xbcb167f7
+0,         27,         27,        1,     2876, 0x2a65b8df
+0,         28,         28,        1,     3476, 0x567ad815
+0,         29,         29,        1,     3449, 0x74098e2e
+0,         30,         30,        1,     3671, 0x9d402f5c
+0,         31,         31,        1,     4033, 0xd3c1b836
+0,         32,         32,        1,     3955, 0xd0e1a872
+0,         33,         33,        1,     4072, 0x8e4fcc17
+0,         34,         34,        1,     4376, 0x90a45ce8
+0,         35,         35,        1,     4475, 0xe49c8754
+0,         36,         36,        1,     4590, 0x4c3fbc8f
+0,         37,         37,        1,     4403, 0x20dd66a0
+0,         38,         38,        1,     3726, 0x31a348a8
+0,         39,         39,        1,     3862, 0x136e745d
+0,         40,         40,        1,     3870, 0x02616d30
+0,         41,         41,        1,     4232, 0x030111a7
+0,         42,         42,        1,     4884, 0x584145cc
+0,         43,         43,        1,     4993, 0x77a44005
+0,         44,         44,        1,     4389, 0xb0da3709
+0,         45,         45,        1,     4686, 0xea98ce4f
+0,         46,         46,        1,     5237, 0x0b96c7d0
+0,         47,         47,        1,     5369, 0x5a1d165a
+0,         48,         48,        1,     5598, 0x86938284
+0,         49,         49,        1,     6174, 0xcfa9a705
+0,         50,         50,        1,     6042, 0x776b7d41
+0,         51,         51,        1,     6192, 0x5d4bc880
+0,         52,         52,        1,     6295, 0x2d03ecda
+0,         53,         53,        1,     6477, 0xcccc4208
+0,         54,         54,        1,     6936, 0x823b2888
+0,         55,         55,        1,     7009, 0x20153786
+0,         56,         56,        1,     6687, 0x30a3ab7b
+0,         57,         57,        1,     6773, 0xbd08dc97
+0,         58,         58,        1,     6722, 0xa9fdd766
+0,         59,         59,        1,     7244, 0xb15ab672
+0,         60,         60,        1,     7513, 0x7689228a
+0,         61,         61,        1,     7051, 0x3adb753c
+0,         62,         62,        1,     7417, 0xc2801c45
+0,         63,         63,        1,     7154, 0xe69a6f9c
+0,         64,         64,        1,     7033, 0x88f13e61
+0,         65,         65,        1,     7684, 0x927d5928
+0,         66,         66,        1,     8006, 0xc7c70bff
+0,         67,         67,        1,     8332, 0x65638da5
+0,         68,         68,        1,     8189, 0xf5b25e29
+0,         69,         69,        1,     8252, 0xe38a92b1
+0,         70,         70,        1,     8372, 0xb32ecc7e
+0,         71,         71,        1,     8532, 0x7911ebfa
+0,         72,         72,        1,     8791, 0x82bc5391
+0,         73,         73,        1,     8904, 0xbe27a65d
+0,         74,         74,        1,     8877, 0x140d94cf
+0,         75,         75,        1,     8639, 0x6710264c
+0,         76,         76,        1,     8736, 0x560c78c9
+0,         77,         77,        1,     9014, 0x05b3d19b
+0,         78,         78,        1,     9097, 0x19782ea2
+0,         79,         79,        1,     9338, 0x30bca72f
+0,         80,         80,        1,     9522, 0x6423f224
+0,         81,         81,        1,     9354, 0xe8aa8bf9
+0,         82,         82,        1,     9654, 0xedbc3e82
+0,         83,         83,        1,     9853, 0x1a503fac
+0,         84,         84,        1,    10086, 0x6480df92
+0,         85,         85,        1,    10170, 0x760c2ddd
+0,         86,         86,        1,     9937, 0x86678022
+0,         87,         87,        1,    10238, 0x84561d75
+0,         88,         88,        1,    10426, 0xd53d7a0d
+0,         89,         89,        1,    10477, 0x778382a6
+0,         90,         90,        1,    10299, 0xac4a1fcc
+0,         91,         91,        1,    10667, 0x833cf29a
+0,         92,         92,        1,    10781, 0xff193391
+0,         93,         93,        1,    10814, 0xd24a1183
+0,         94,         94,        1,    10862, 0x00b32af5
+0,         95,         95,        1,    11214, 0x19e7ea74
+0,         96,         96,        1,    11359, 0x81d63f73
+0,         97,         97,        1,    11357, 0xe2cd6848
+0,         98,         98,        1,    11583, 0x4974c1ea
+0,         99,         99,        1,    11887, 0xd21b3760
+0,        100,        100,        1,    11970, 0x99175188
+0,        101,        101,        1,    12016, 0x327d87b4
+0,        102,        102,        1,    12259, 0xe436dc0b
+0,        103,        103,        1,    12456, 0x78c04082
+0,        104,        104,        1,    12561, 0x6cd19cec
+0,        105,        105,        1,    12212, 0x0c78f1d7
+0,        106,        106,        1,    12704, 0x4f06af96
+0,        107,        107,        1,    12708, 0xc427a508
+0,        108,        108,        1,    13057, 0xf04d5de6
+0,        109,        109,        1,    13110, 0xc3e066d4
+0,        110,        110,        1,    13228, 0x90a59ae8
+0,        111,        111,        1,    13471, 0x3e372585
+0,        112,        112,        1,    13444, 0x6d6a3887
+0,        113,        113,        1,    13733, 0x982a861e
+0,        114,        114,        1,    13830, 0xa236caec
+0,        115,        115,        1,    13923, 0xd4931579
+0,        116,        116,        1,    13947, 0xb43803b3
+0,        117,        117,        1,    13974, 0xfad43e29
+0,        118,        118,        1,    13987, 0xd3704542
+0,        119,        119,        1,    13986, 0xf66348da
+0,        120,        120,        1,    14243, 0xc5508b72
+0,        121,        121,        1,    14441, 0xffa0c303
+0,        122,        122,        1,    14468, 0xbb1ed1ca
+0,        123,        123,        1,    14597, 0x13381201
+0,        124,        124,        1,    14722, 0x00207845
+0,        125,        125,        1,    14839, 0xaf26b943
+0,        126,        126,        1,    14900, 0x3cf3b392
+0,        127,        127,        1,    15107, 0xf3e136f9
+0,        128,        128,        1,    15245, 0x77b19190
+0,        129,        129,        1,    15312, 0x518d88ac
+0,        130,        130,        1,    15384, 0xaa4cb879
+0,        131,        131,        1,    15674, 0x7ae10ec4
+0,        132,        132,        1,    15754, 0x8ed08700
+0,        133,        133,        1,    15918, 0xd0ddc174
+0,        134,        134,        1,    15905, 0xe5a6a087
+0,        135,        135,        1,    16019, 0xcecef9fb
+0,        136,        136,        1,    16113, 0xabb54ce7
+0,        137,        137,        1,    16414, 0x41308606
+0,        138,        138,        1,    16688, 0xc55d0dcc
+0,        139,        139,        1,    16817, 0xc68e2f68
+0,        140,        140,        1,    17004, 0xaa03e8f2
+0,        141,        141,        1,    17038, 0x4c5bccf5
+0,        142,        142,        1,    17147, 0x7e38f575
+0,        143,        143,        1,    17437, 0x740290a1
+0,        144,        144,        1,    17693, 0x85c0fe76
+0,        145,        145,        1,    17925, 0x597db4e5
+0,        146,        146,        1,    17948, 0xdcd89945
+0,        147,        147,        1,    18091, 0xb01294bc
+0,        148,        148,        1,    18173, 0xecbdfcb8
+0,        149,        149,        1,    18207, 0x0576dfd1
+0,        150,        150,        1,    18352, 0xd92e3b56
+0,        151,        151,        1,    18540, 0x8d11734c
+0,        152,        152,        1,    18602, 0x75c26c43
+0,        153,        153,        1,    18694, 0xb0c781a6
+0,        154,        154,        1,    18599, 0xe592a1eb
+0,        155,        155,        1,    18918, 0xafe90558
+0,        156,        156,        1,    19033, 0xc8ba6de0
+0,        157,        157,        1,    19113, 0xdd14a332
+0,        158,        158,        1,    19069, 0x946e1fe7
+0,        159,        159,        1,    19194, 0xf4f8a2b7
+0,        160,        160,        1,    19383, 0xd9892f07
+0,        161,        161,        1,    19692, 0x7a70a474
+0,        162,        162,        1,    19849, 0xac3ee9e5
+0,        163,        163,        1,    19944, 0x31e2e9d9
+0,        164,        164,        1,    19986, 0xf36de6d2
+0,        165,        165,        1,    20174, 0x451a4b5e
+0,        166,        166,        1,    20256, 0xcbc7880b
+0,        167,        167,        1,    20435, 0x7442f92f
+0,        168,        168,        1,    20448, 0x695e0050
+0,        169,        169,        1,    20712, 0x61544a57
+0,        170,        170,        1,    20751, 0x5dfe8232
+0,        171,        171,        1,    20797, 0x1a2d72c6
+0,        172,        172,        1,    20836, 0x9cb45e95
diff --git a/tests/ref/fate/gifenc-rgb8 b/tests/ref/fate/gifenc-rgb8
index 490e4d0b19..4792109d1f 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,     1341, 0xaa85adb1
+0,          1,          1,        1,     1073, 0xfe1f0495
+0,          2,          2,        1,     1214, 0x9e764fa0
+0,          3,          3,        1,     1226, 0x4ca24dd5
+0,          4,          4,        1,     1323, 0x525e80fb
+0,          5,          5,        1,     1390, 0x37369c66
+0,          6,          6,        1,     1418, 0x5fbf9b1e
+0,          7,          7,        1,     1436, 0x4c7bb570
+0,          8,          8,        1,     1597, 0x97c5fbeb
+0,          9,          9,        1,     1933, 0x3c84ab0c
+0,         10,         10,        1,      955, 0xd271d05b
+0,         11,         11,        1,     2109, 0xb22dece6
+0,         12,         12,        1,     2414, 0x30a4857c
+0,         13,         13,        1,     2307, 0x78e1624d
+0,         14,         14,        1,     2496, 0x3d93c382
+0,         15,         15,        1,     2686, 0xd1b502bb
+0,         16,         16,        1,     2900, 0x637c571e
+0,         17,         17,        1,     3024, 0xbddaa6c7
+0,         18,         18,        1,     3087, 0x8b92b1ee
+0,         19,         19,        1,     3184, 0xae96e908
+0,         20,         20,        1,     3377, 0x97a73eb5
+0,         21,         21,        1,     3463, 0x6aae7f50
+0,         22,         22,        1,     3560, 0x4d918a2d
+0,         23,         23,        1,     3660, 0xd5b0c7d8
+0,         24,         24,        1,     3758, 0xac9af464
+0,         25,         25,        1,     3877, 0xa42d1a5c
+0,         26,         26,        1,     4029, 0xb45372c6
+0,         27,         27,        1,     4105, 0x3e7097b0
+0,         28,         28,        1,     4348, 0xdf5f06a0
+0,         29,         29,        1,     4583, 0x68e37b20
+0,         30,         30,        1,     3526, 0x61519bdd
+0,         31,         31,        1,     4807, 0xaad4ef68
+0,         32,         32,        1,     3801, 0xc5971ae2
+0,         33,         33,        1,     5071, 0x579186bf
+0,         34,         34,        1,     2820, 0xdc3d3cc0
+0,         35,         35,        1,     3988, 0xc1cf6cdd
+0,         36,         36,        1,     3068, 0xa381df7d
+0,         37,         37,        1,     4409, 0xe4bb16f1
+0,         38,         38,        1,     4328, 0xd338f1f1
+0,         39,         39,        1,     4466, 0x040f595b
+0,         40,         40,        1,     2335, 0xc04b6f7e
+0,         41,         41,        1,     1730, 0x00e14613
+0,         42,         42,        1,     1049, 0xd150f470
+0,         43,         43,        1,     1706, 0xcff62a8d
+0,         44,         44,        1,     1047, 0x8760fcee
+0,         45,         45,        1,      972, 0x3293cf61
+0,         46,         46,        1,     5075, 0xe2c389c5
+0,         47,         47,        1,     5671, 0x9ef7b5e5
+0,         48,         48,        1,     5704, 0xd14d9027
+0,         49,         49,        1,     5717, 0xd0eed15f
+0,         50,         50,        1,     4930, 0x4bbd34f4
+0,         51,         51,        1,     5454, 0x09843f87
+0,         52,         52,        1,     5517, 0x785b3793
+0,         53,         53,        1,     5758, 0xb9ccd5b6
+0,         54,         54,        1,     5955, 0x10743fef
+0,         55,         55,        1,     5822, 0x6baafd0c
+0,         56,         56,        1,     5916, 0x31393e35
+0,         57,         57,        1,     5077, 0x41b66e87
+0,         58,         58,        1,     5855, 0xa0361f2c
+0,         59,         59,        1,     6060, 0x28f55c2f
+0,         60,         60,        1,     6202, 0x5a8c9a96
+0,         61,         61,        1,     5421, 0x2f25062f
+0,         62,         62,        1,     6039, 0xc5e55437
+0,         63,         63,        1,     5997, 0x032f4691
+0,         64,         64,        1,     5993, 0x7bca1949
+0,         65,         65,        1,     6171, 0x66b37e0a
+0,         66,         66,        1,     5996, 0xa2eb5fa3
+0,         67,         67,        1,     6480, 0x84aa51ac
+0,         68,         68,        1,     6412, 0x32051e33
+0,         69,         69,        1,     6594, 0x87c5680b
+0,         70,         70,        1,     6539, 0x353643df
+0,         71,         71,        1,     6892, 0x82f80a7e
+0,         72,         72,        1,     6845, 0x1ed2e01a
+0,         73,         73,        1,     6572, 0x9b3a5ba0
+0,         74,         74,        1,     6775, 0x2124b340
+0,         75,         75,        1,     6996, 0xd0d02d9e
+0,         76,         76,        1,     7150, 0x10b366f3
+0,         77,         77,        1,     7241, 0xae98f3c9
+0,         78,         78,        1,     7795, 0x0816a4e2
+0,         79,         79,        1,     8031, 0xdbc833bc
+0,         80,         80,        1,     8973, 0x2f13e6b8
+0,         81,         81,        1,     9134, 0x420ffe1f
+0,         82,         82,        1,     8484, 0xa229128b
+0,         83,         83,        1,     8188, 0xd1988e2d
+0,         84,         84,        1,     8317, 0xe15e9600
+0,         85,         85,        1,     8724, 0x1936468b
+0,         86,         86,        1,     9184, 0xb9eb50b6
+0,         87,         87,        1,     8832, 0xc2af9fb6
+0,         88,         88,        1,     8177, 0xc4b13297
+0,         89,         89,        1,     8270, 0xf94875fc
+0,         90,         90,        1,     8582, 0x7b34ee7c
+0,         91,         91,        1,     8544, 0x76b2f599
+0,         92,         92,        1,     8525, 0xf5041860
+0,         93,         93,        1,     8823, 0x4585a0e9
+0,         94,         94,        1,     8394, 0xcceab04e
+0,         95,         95,        1,     8755, 0x699f412d
+0,         96,         96,        1,    12838, 0x3de619e0
+0,         97,         97,        1,    13093, 0x8683585a
+0,         98,         98,        1,    12993, 0x60c5697e
+0,         99,         99,        1,    12003, 0x7a890b07
+0,        100,        100,        1,    11884, 0xda2d82cb
+0,        101,        101,        1,    12142, 0x135b158d
+0,        102,        102,        1,    12672, 0x4621c480
+0,        103,        103,        1,    12255, 0xc00efe64
+0,        104,        104,        1,    14171, 0x9e0ac8b1
+0,        105,        105,        1,    13689, 0x4f9ebf92
+0,        106,        106,        1,    14640, 0x3671727e
+0,        107,        107,        1,    14327, 0xd5fff826
+0,        108,        108,        1,    14817, 0xea7eedf8
+0,        109,        109,        1,    14920, 0xf0a5b95c
+0,        110,        110,        1,    15053, 0xb969d574
+0,        111,        111,        1,    15200, 0x808a6c26
+0,        112,        112,        1,    15465, 0x0cf44d7a
+0,        113,        113,        1,    15374, 0xd5f8e4f3
+0,        114,        114,        1,    15989, 0x6e9011a6
+0,        115,        115,        1,    16201, 0x9aaa2a42
+0,        116,        116,        1,    16371, 0x220585f8
+0,        117,        117,        1,    16374, 0x201e2812
+0,        118,        118,        1,    16639, 0xd85d7dab
+0,        119,        119,        1,    16493, 0xb443be03
+0,        120,        120,        1,    16854, 0x8f9ab6cb
+0,        121,        121,        1,    17001, 0x06e1217c
+0,        122,        122,        1,    16911, 0xeca392d1
+0,        123,        123,        1,    17437, 0x20e2e9bd
+0,        124,        124,        1,    17395, 0x780ad795
+0,        125,        125,        1,    17605, 0xfdcd3d8d
+0,        126,        126,        1,    17720, 0x12504ddd
+0,        127,        127,        1,    17895, 0xd90ae79f
+0,        128,        128,        1,    17926, 0x07c2b970
+0,        129,        129,        1,    18097, 0x88016aa8
+0,        130,        130,        1,    18171, 0x029645c2
+0,        131,        131,        1,    18442, 0x2e1cbe62
+0,        132,        132,        1,    18506, 0xa9680201
+0,        133,        133,        1,    18710, 0xc2c245cb
+0,        134,        134,        1,    18720, 0xf81b8605
+0,        135,        135,        1,    19014, 0x0f90ae76
+0,        136,        136,        1,    19167, 0x380240d8
+0,        137,        137,        1,    19319, 0x446f6e86
+0,        138,        138,        1,    19715, 0xb5fe56a9
+0,        139,        139,        1,    19921, 0x0376a589
+0,        140,        140,        1,    19896, 0xb8fa2611
+0,        141,        141,        1,    19906, 0xdad96a0a
+0,        142,        142,        1,    20270, 0x8f321f41
+0,        143,        143,        1,    20310, 0xa1ff23a0
+0,        144,        144,        1,    20523, 0xb6563fc7
+0,        145,        145,        1,    20890, 0x0218e4a3
+0,        146,        146,        1,    21033, 0x347e5674
+0,        147,        147,        1,    21146, 0xa643b469
+0,        148,        148,        1,    21068, 0x0b3e6e55
+0,        149,        149,        1,    21267, 0x497ce95b
+0,        150,        150,        1,    21423, 0xc6395993
+0,        151,        151,        1,    21442, 0x86c844f2
+0,        152,        152,        1,    21783, 0x11d0cbbc
+0,        153,        153,        1,    21834, 0x70a6e6dc
+0,        154,        154,        1,    21929, 0x50dfc61a
+0,        155,        155,        1,    21854, 0x6aeafc98
+0,        156,        156,        1,    22234, 0x2b5bcedb
+0,        157,        157,        1,    22445, 0x056c5f2c
+0,        158,        158,        1,    22357, 0x9d8d9dee
+0,        159,        159,        1,    22430, 0x777d2766
+0,        160,        160,        1,    22763, 0xf882034c
+0,        161,        161,        1,    22981, 0xca98ef74
+0,        162,        162,        1,    23251, 0x1aee5c6a
+0,        163,        163,        1,    23266, 0x412bb3ab
+0,        164,        164,        1,    23236, 0x6709384c
+0,        165,        165,        1,    23637, 0xf5c9b14f
+0,        166,        166,        1,    23522, 0xe9a2d254
+0,        167,        167,        1,    23941, 0x6167e2e2
+0,        168,        168,        1,    24049, 0xf1d21727
+0,        169,        169,        1,    23987, 0x9862de44
+0,        170,        170,        1,    24424, 0x8a1c6c69
+0,        171,        171,        1,    24451, 0x7abadcf8
+0,        172,        172,        1,    24650, 0x4c571513