Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2013-04-18 20:51:16 +0400
committerClément Bœsch <ubitux@gmail.com>2013-04-19 04:05:01 +0400
commit3d786591b814baef324eab3a7fc8ba9d257d67ed (patch)
tree5706b78acc41ea940a9dfc559e3c29b09fdc9bdd /tests
parent007989c7a2215f54aeaf2393ab3aff0c208e862f (diff)
fate/gif: create meaningful gif encoding tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/fate/gif.mak11
-rwxr-xr-xtests/lavf-regression.sh15
-rw-r--r--tests/ref/fate/gifenc-bgr4_byte174
-rw-r--r--tests/ref/fate/gifenc-bgr8174
-rw-r--r--tests/ref/fate/gifenc-gray174
-rw-r--r--tests/ref/fate/gifenc-pal8174
-rw-r--r--tests/ref/fate/gifenc-rgb4_byte174
-rw-r--r--tests/ref/fate/gifenc-rgb8174
-rw-r--r--tests/ref/lavf/gif21
9 files changed, 1056 insertions, 35 deletions
diff --git a/tests/fate/gif.mak b/tests/fate/gif.mak
index 722bd6e18f..110a067280 100644
--- a/tests/fate/gif.mak
+++ b/tests/fate/gif.mak
@@ -10,6 +10,17 @@ fate-gif-disposal-restore: CMD = framecrc -i $(SAMPLES)/gif/banner2.gif -pix_fmt
FATE_GIF += fate-gif-gray
fate-gif-gray: CMD = framecrc -i $(SAMPLES)/gif/Newtons_cradle_animation_book_2.gif -pix_fmt bgra
+fate-gifenc%: fate-gif-color
+fate-gifenc%: PIXFMT = $(word 3, $(subst -, ,$(@)))
+fate-gifenc%: SRC = $(SAMPLES)/gif/tc217.gif
+fate-gifenc%: CMD = framecrc -i $(SRC) -c:v gif -pix_fmt $(PIXFMT)
+
+FATE_GIF_ENC_PIXFMT = rgb8 bgr8 rgb4_byte bgr4_byte gray pal8
+FATE_GIF_ENC-$(call ENCDEC, GIF, GIF) = $(FATE_GIF_ENC_PIXFMT:%=fate-gifenc-%)
+
+FATE_GIF += $(FATE_GIF_ENC-yes)
+fate-gifenc: $(FATE_GIF_ENC-yes)
+
FATE_GIF-$(call DEMDEC, GIF, GIF) += $(FATE_GIF)
FATE_SAMPLES_AVCONV += $(FATE_GIF-yes)
diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
index 1393909680..196e9654d7 100755
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@ -49,11 +49,7 @@ do_image_formats()
{
outfile="$datadir/images/$1/"
mkdir -p "$outfile"
- if [ "$1" = "gif" ]; then
- file=${outfile}02.$1
- else
- file=${outfile}%02d.$1
- fi
+ file=${outfile}%02d.$1
run_avconv $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $2 $ENC_OPTS -t 0.5 -y -qscale 10 $target_path/$file
do_md5sum ${outfile}02.$1
do_avconv_crc $file $DEC_OPTS -i $target_path/$file $3
@@ -184,18 +180,9 @@ do_streamed_images ppm
fi
if [ -n "$do_gif" ] ; then
-# this tests the gif muxer
file=${outfile}lavf.gif
do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
-# and this the gif encoder
-do_image_formats gif "" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt rgb4_byte" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt bgr4_byte" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt rgb8" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt bgr8" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt gray" "-pix_fmt rgb24"
-do_image_formats gif "-pix_fmt pal8" "-pix_fmt rgb24"
fi
if [ -n "$do_yuv4mpeg" ] ; then
diff --git a/tests/ref/fate/gifenc-bgr4_byte b/tests/ref/fate/gifenc-bgr4_byte
new file mode 100644
index 0000000000..7e86803668
--- /dev/null
+++ b/tests/ref/fate/gifenc-bgr4_byte
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 507, 0x91080fbf
+0, 10, 10, 1, 193, 0x1d7e4858
+0, 20, 20, 1, 130, 0xfe2d2987
+0, 30, 30, 1, 395, 0xf717a07e
+0, 40, 40, 1, 431, 0x940db956
+0, 50, 50, 1, 466, 0xb8dccc62
+0, 60, 60, 1, 542, 0x0ae8e79a
+0, 70, 70, 1, 597, 0x5baf0acf
+0, 80, 80, 1, 969, 0x87e2cc88
+0, 90, 90, 1, 1044, 0xd5daf5ef
+0, 100, 100, 1, 1185, 0xbcb62ceb
+0, 110, 110, 1, 1273, 0x15895efd
+0, 120, 120, 1, 1352, 0x53b287f7
+0, 130, 130, 1, 1428, 0x55c2a576
+0, 140, 140, 1, 1488, 0x65eacda9
+0, 150, 150, 1, 1428, 0xef6d8e92
+0, 160, 160, 1, 1709, 0xd59b38bd
+0, 170, 170, 1, 1834, 0xa7a6676f
+0, 180, 180, 1, 1933, 0xa9f5915f
+0, 190, 190, 1, 1944, 0x51f28eb4
+0, 200, 200, 1, 2170, 0xa28a0d4e
+0, 210, 210, 1, 2051, 0x893eb9bf
+0, 220, 220, 1, 2250, 0x32c2449c
+0, 230, 230, 1, 2334, 0x94bc4f85
+0, 240, 240, 1, 2267, 0x957d32eb
+0, 250, 250, 1, 2447, 0xb1098a71
+0, 260, 260, 1, 2552, 0xb38bb5d4
+0, 270, 270, 1, 2450, 0x30447fb7
+0, 280, 280, 1, 2893, 0x1dbc5e35
+0, 290, 290, 1, 2905, 0x3b495cac
+0, 300, 300, 1, 3158, 0xd4570380
+0, 310, 310, 1, 3276, 0xd30827f4
+0, 320, 320, 1, 3439, 0xcdac7c90
+0, 330, 330, 1, 3481, 0x561c6e32
+0, 340, 340, 1, 3641, 0xf314bfe5
+0, 350, 350, 1, 3727, 0x8e8ff2c3
+0, 360, 360, 1, 3826, 0x728f3cee
+0, 370, 370, 1, 3933, 0x29cb6577
+0, 380, 380, 1, 3944, 0xc9455d41
+0, 390, 390, 1, 4011, 0x141d88dd
+0, 400, 400, 1, 4119, 0x6d74b89b
+0, 410, 410, 1, 4132, 0x93da9bd7
+0, 420, 420, 1, 4332, 0xdabb38ff
+0, 430, 430, 1, 4400, 0xd49955a6
+0, 440, 440, 1, 4376, 0x674b0ffe
+0, 450, 450, 1, 4483, 0xd89c764c
+0, 460, 460, 1, 4623, 0xbb7ec92d
+0, 470, 470, 1, 4692, 0xaf8bf4c9
+0, 480, 480, 1, 4752, 0x8259213a
+0, 490, 490, 1, 4947, 0x29c786e3
+0, 500, 500, 1, 5076, 0x49f0bb0c
+0, 510, 510, 1, 5189, 0x5295fa2f
+0, 520, 520, 1, 5287, 0x3cc83668
+0, 530, 530, 1, 5414, 0x95bfb406
+0, 540, 540, 1, 5688, 0xbc080b7a
+0, 550, 550, 1, 5806, 0x756742d5
+0, 560, 560, 1, 5905, 0x2e668221
+0, 570, 570, 1, 6056, 0xe76bbf67
+0, 580, 580, 1, 6126, 0x9959e501
+0, 590, 590, 1, 6203, 0x4ea0be07
+0, 600, 600, 1, 6313, 0x1a4e1744
+0, 610, 610, 1, 6416, 0x6a5a1e08
+0, 620, 620, 1, 6471, 0xb2cb5000
+0, 630, 630, 1, 6552, 0x43d07883
+0, 640, 640, 1, 6650, 0xe993ae84
+0, 650, 650, 1, 6811, 0x1902fd8d
+0, 660, 660, 1, 6966, 0x324a604f
+0, 670, 670, 1, 7063, 0xbe2d7441
+0, 680, 680, 1, 7107, 0xf0a16cdf
+0, 690, 690, 1, 7163, 0x93747168
+0, 700, 700, 1, 7169, 0x0d0791d0
+0, 710, 710, 1, 7255, 0xa00bc770
+0, 720, 720, 1, 7355, 0xe3e9ef39
+0, 730, 730, 1, 7407, 0x392d0e75
+0, 740, 740, 1, 7485, 0xfd1c3a13
+0, 750, 750, 1, 7512, 0x31e84bce
+0, 760, 760, 1, 7495, 0xb340ec92
+0, 770, 770, 1, 7602, 0x75043f9d
+0, 780, 780, 1, 7677, 0x8e4972ea
+0, 790, 790, 1, 7824, 0x7aadda27
+0, 800, 800, 1, 7975, 0xb5510d88
+0, 810, 810, 1, 8093, 0xfa944446
+0, 820, 820, 1, 8249, 0x1da4671e
+0, 830, 830, 1, 8288, 0xbf2f9b73
+0, 840, 840, 1, 8418, 0xcec6ebe7
+0, 850, 850, 1, 8508, 0x8d852009
+0, 860, 860, 1, 8563, 0xfcdf2ea0
+0, 870, 870, 1, 8676, 0x2a567c4d
+0, 880, 880, 1, 8779, 0x40d77560
+0, 890, 890, 1, 8897, 0xf707c828
+0, 900, 900, 1, 9036, 0xd1401652
+0, 910, 910, 1, 9050, 0x46760af2
+0, 920, 920, 1, 9102, 0x177b2b76
+0, 930, 930, 1, 9207, 0x8f113246
+0, 940, 940, 1, 9227, 0xc4c03f9c
+0, 950, 950, 1, 9480, 0x9e26defd
+0, 960, 960, 1, 9548, 0x1a6cfb21
+0, 970, 970, 1, 9756, 0x0c547a64
+0, 980, 980, 1, 9884, 0x67db7d02
+0, 990, 990, 1, 9960, 0x3901d566
+0, 1000, 1000, 1, 10020, 0x45cd0035
+0, 1010, 1010, 1, 10107, 0x071d10de
+0, 1020, 1020, 1, 10268, 0x0d1f723e
+0, 1030, 1030, 1, 10409, 0xab71b500
+0, 1040, 1040, 1, 10512, 0xf415fc0d
+0, 1050, 1050, 1, 10667, 0xadd43de6
+0, 1060, 1060, 1, 10789, 0xaabcb5ba
+0, 1070, 1070, 1, 10807, 0x578564f1
+0, 1080, 1080, 1, 11051, 0x89e6bc1c
+0, 1090, 1090, 1, 11121, 0x68611ce7
+0, 1100, 1100, 1, 11243, 0xc2293d04
+0, 1110, 1110, 1, 11412, 0x430e92f4
+0, 1120, 1120, 1, 11446, 0x7da6be3a
+0, 1130, 1130, 1, 11592, 0x02d51db6
+0, 1140, 1140, 1, 11666, 0x78590e6c
+0, 1150, 1150, 1, 11767, 0xfdf54b91
+0, 1160, 1160, 1, 11805, 0x96eeb115
+0, 1170, 1170, 1, 11878, 0x387f9de3
+0, 1180, 1180, 1, 11980, 0xd93cbaca
+0, 1190, 1190, 1, 12065, 0xa504c7d1
+0, 1200, 1200, 1, 12142, 0xe9660a75
+0, 1210, 1210, 1, 12294, 0xd8627ea2
+0, 1220, 1220, 1, 12358, 0xf7ab4df0
+0, 1230, 1230, 1, 12415, 0xcf1a4811
+0, 1240, 1240, 1, 12484, 0x0c59905f
+0, 1250, 1250, 1, 12637, 0x220c0c94
+0, 1260, 1260, 1, 12705, 0xef421ab5
+0, 1270, 1270, 1, 12884, 0x3def62ad
+0, 1280, 1280, 1, 12934, 0xb469cd56
+0, 1290, 1290, 1, 13018, 0x4c66e202
+0, 1300, 1300, 1, 13120, 0x63e2d409
+0, 1310, 1310, 1, 13379, 0x30fc473b
+0, 1320, 1320, 1, 13442, 0x31f5a18d
+0, 1330, 1330, 1, 13496, 0x1374a646
+0, 1340, 1340, 1, 13638, 0x65a9cd1e
+0, 1350, 1350, 1, 13672, 0x55f0a47a
+0, 1360, 1360, 1, 13780, 0x5b931209
+0, 1370, 1370, 1, 14041, 0x65aa5a1c
+0, 1380, 1380, 1, 14177, 0x0982ccc2
+0, 1390, 1390, 1, 14386, 0x8dcc0c8d
+0, 1400, 1400, 1, 14464, 0x97f961d1
+0, 1410, 1410, 1, 14503, 0x337b31e0
+0, 1420, 1420, 1, 14620, 0x7be29621
+0, 1430, 1430, 1, 14786, 0x721ae651
+0, 1440, 1440, 1, 14954, 0x9332ecfd
+0, 1450, 1450, 1, 15113, 0x5e9796e0
+0, 1460, 1460, 1, 15237, 0x23a2b15d
+0, 1470, 1470, 1, 15258, 0x7af1b15a
+0, 1480, 1480, 1, 15401, 0x4c87e5ea
+0, 1490, 1490, 1, 15485, 0xf434d51b
+0, 1500, 1500, 1, 15590, 0xf3438a5e
+0, 1510, 1510, 1, 15639, 0x3c1191ba
+0, 1520, 1520, 1, 15710, 0x3f8fb09e
+0, 1530, 1530, 1, 15845, 0xef17e0d0
+0, 1540, 1540, 1, 15819, 0x8e410489
+0, 1550, 1550, 1, 15934, 0x1dc30805
+0, 1560, 1560, 1, 16086, 0xe8668b2b
+0, 1570, 1570, 1, 16134, 0xa870a1ad
+0, 1580, 1580, 1, 16235, 0xbc6cb3ff
+0, 1590, 1590, 1, 16255, 0x2ebb95fe
+0, 1600, 1600, 1, 16553, 0xe6302d8a
+0, 1610, 1610, 1, 16670, 0xd0334b51
+0, 1620, 1620, 1, 16849, 0x19c680c3
+0, 1630, 1630, 1, 16961, 0x830c19d7
+0, 1640, 1640, 1, 16964, 0x11682a72
+0, 1650, 1650, 1, 17178, 0x394b922c
+0, 1660, 1660, 1, 17233, 0x39326f15
+0, 1670, 1670, 1, 17377, 0xef8a7825
+0, 1680, 1680, 1, 17479, 0x08a48972
+0, 1690, 1690, 1, 17498, 0x2b8a7493
+0, 1700, 1700, 1, 17620, 0xd2131afa
+0, 1710, 1710, 1, 17560, 0xf7b16916
+0, 1720, 1720, 1, 17648, 0xc5fd212d
diff --git a/tests/ref/fate/gifenc-bgr8 b/tests/ref/fate/gifenc-bgr8
new file mode 100644
index 0000000000..5c8377a4c1
--- /dev/null
+++ b/tests/ref/fate/gifenc-bgr8
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 552, 0x271a2dd3
+0, 10, 10, 1, 296, 0x87e9926d
+0, 20, 20, 1, 457, 0x4bb9dc1a
+0, 30, 30, 1, 561, 0x11661d1b
+0, 40, 40, 1, 736, 0xfbfa6dc1
+0, 50, 50, 1, 879, 0xc46dc61b
+0, 60, 60, 1, 988, 0x07fcf5e1
+0, 70, 70, 1, 1034, 0x3d1d16a7
+0, 80, 80, 1, 1266, 0x969583ba
+0, 90, 90, 1, 1262, 0x2769771f
+0, 100, 100, 1, 179, 0x3a27517c
+0, 110, 110, 1, 1650, 0xa0c341c0
+0, 120, 120, 1, 1789, 0xb3649a49
+0, 130, 130, 1, 1731, 0x17fb7671
+0, 140, 140, 1, 1947, 0xc61ef1ec
+0, 150, 150, 1, 2015, 0x9f93f9ec
+0, 160, 160, 1, 2256, 0xfbf1854a
+0, 170, 170, 1, 2420, 0xfd40d5d0
+0, 180, 180, 1, 2504, 0xbcec0335
+0, 190, 190, 1, 2604, 0x522b0ea9
+0, 200, 200, 1, 2805, 0x752a995a
+0, 210, 210, 1, 2876, 0xb78ba92e
+0, 220, 220, 1, 2980, 0xae84cf06
+0, 230, 230, 1, 3096, 0xe7962222
+0, 240, 240, 1, 3210, 0x84392f81
+0, 250, 250, 1, 3299, 0xe205816c
+0, 260, 260, 1, 3396, 0xf8e9b993
+0, 270, 270, 1, 3496, 0x85a7cbe0
+0, 280, 280, 1, 3703, 0xfd2737d5
+0, 290, 290, 1, 3878, 0x66ed9693
+0, 300, 300, 1, 4095, 0x83c1032c
+0, 310, 310, 1, 4152, 0xe6640ad9
+0, 320, 320, 1, 4342, 0x56f0a1f6
+0, 330, 330, 1, 4514, 0x72e4dfaf
+0, 340, 340, 1, 4609, 0xd5cd3059
+0, 350, 350, 1, 4781, 0xdf5eaf33
+0, 360, 360, 1, 4754, 0x688796ec
+0, 370, 370, 1, 5011, 0x2ed6175c
+0, 380, 380, 1, 5094, 0xbfd950d1
+0, 390, 390, 1, 5207, 0xf085adcd
+0, 400, 400, 1, 2346, 0x3136d807
+0, 410, 410, 1, 1451, 0x5bfbe908
+0, 420, 420, 1, 272, 0xa6627f67
+0, 430, 430, 1, 1422, 0xc1d6d691
+0, 440, 440, 1, 314, 0xfbf2951f
+0, 450, 450, 1, 188, 0x4ee353db
+0, 460, 460, 1, 5429, 0x5a04008c
+0, 470, 470, 1, 6017, 0x7af85b10
+0, 480, 480, 1, 6120, 0x744f9147
+0, 490, 490, 1, 6350, 0x4385ea48
+0, 500, 500, 1, 6573, 0xd3a47d1e
+0, 510, 510, 1, 6640, 0xb93d6b6a
+0, 520, 520, 1, 6741, 0x9341b1d7
+0, 530, 530, 1, 6976, 0x92a2ff68
+0, 540, 540, 1, 7081, 0x49d2542f
+0, 550, 550, 1, 7190, 0x4a1b7c77
+0, 560, 560, 1, 7303, 0x0677a725
+0, 570, 570, 1, 7107, 0xaa7b2eb0
+0, 580, 580, 1, 7401, 0xe9c4e181
+0, 590, 590, 1, 7529, 0x7b071929
+0, 600, 600, 1, 7642, 0xb4a551b1
+0, 610, 610, 1, 7702, 0x46717848
+0, 620, 620, 1, 7809, 0xcf6f663c
+0, 630, 630, 1, 7846, 0x10b0c25a
+0, 640, 640, 1, 7924, 0x3f86d689
+0, 650, 650, 1, 8189, 0x3a505d27
+0, 660, 660, 1, 8358, 0x2918901e
+0, 670, 670, 1, 8457, 0x6228be94
+0, 680, 680, 1, 8448, 0x30a9cd2d
+0, 690, 690, 1, 8685, 0xd28830fc
+0, 700, 700, 1, 8703, 0x68ad4d0a
+0, 710, 710, 1, 8782, 0x4a6b6e98
+0, 720, 720, 1, 8839, 0x20358ebb
+0, 730, 730, 1, 8453, 0x500fb863
+0, 740, 740, 1, 8641, 0x0fcb1f64
+0, 750, 750, 1, 9203, 0x9cfd2739
+0, 760, 760, 1, 9191, 0x25bc41e0
+0, 770, 770, 1, 9259, 0x05985a48
+0, 780, 780, 1, 8905, 0xc6b798e4
+0, 790, 790, 1, 9171, 0x5d9afefa
+0, 800, 800, 1, 9857, 0xd9d24f4a
+0, 810, 810, 1, 9989, 0xda479e57
+0, 820, 820, 1, 10005, 0xe616d606
+0, 830, 830, 1, 9614, 0xe8b10d58
+0, 840, 840, 1, 9777, 0x432b620a
+0, 850, 850, 1, 10364, 0xab9a9cf9
+0, 860, 860, 1, 10496, 0x7374a9c8
+0, 870, 870, 1, 10541, 0x08b4e722
+0, 880, 880, 1, 10185, 0x55b30955
+0, 890, 890, 1, 10309, 0x20a92e4c
+0, 900, 900, 1, 10947, 0xdcca628d
+0, 910, 910, 1, 11045, 0xbbc2d1b9
+0, 920, 920, 1, 11054, 0x809c1063
+0, 930, 930, 1, 10637, 0x76b10ce2
+0, 940, 940, 1, 10673, 0xebfbe18a
+0, 950, 950, 1, 11495, 0xa2759ffe
+0, 960, 960, 1, 11710, 0xc97e2b99
+0, 970, 970, 1, 11853, 0x93f669f5
+0, 980, 980, 1, 11633, 0x3c260277
+0, 990, 990, 1, 12088, 0x8416bdc8
+0, 1000, 1000, 1, 12214, 0x2d67d04f
+0, 1010, 1010, 1, 12364, 0xedc26a23
+0, 1020, 1020, 1, 12390, 0x09442bdc
+0, 1030, 1030, 1, 12634, 0x3974df0b
+0, 1040, 1040, 1, 12783, 0x4510e5dd
+0, 1050, 1050, 1, 12935, 0x3aa8ab83
+0, 1060, 1060, 1, 13151, 0x6dcfcea8
+0, 1070, 1070, 1, 13297, 0x42ff3c3b
+0, 1080, 1080, 1, 13398, 0xf8bd861f
+0, 1090, 1090, 1, 13593, 0x8a981279
+0, 1100, 1100, 1, 13650, 0xdf4dfc45
+0, 1110, 1110, 1, 13861, 0x529b2d5b
+0, 1120, 1120, 1, 14030, 0x23066a5b
+0, 1130, 1130, 1, 14304, 0x0f6cfe7b
+0, 1140, 1140, 1, 14439, 0x96347009
+0, 1150, 1150, 1, 14572, 0x656096eb
+0, 1160, 1160, 1, 14705, 0xcbf10aab
+0, 1170, 1170, 1, 14815, 0xe0a025dd
+0, 1180, 1180, 1, 14915, 0x5337414c
+0, 1190, 1190, 1, 15011, 0xc6aa9af2
+0, 1200, 1200, 1, 15166, 0x0ecdcfde
+0, 1210, 1210, 1, 15348, 0xda6107b3
+0, 1220, 1220, 1, 15385, 0x4e21ed9c
+0, 1230, 1230, 1, 15535, 0xf25b94bf
+0, 1240, 1240, 1, 15692, 0x22c59875
+0, 1250, 1250, 1, 15707, 0x60c1d208
+0, 1260, 1260, 1, 15942, 0xb3d41b2c
+0, 1270, 1270, 1, 16080, 0xc7e627bf
+0, 1280, 1280, 1, 16187, 0x63656fc4
+0, 1290, 1290, 1, 16276, 0x10d3cbba
+0, 1300, 1300, 1, 16385, 0x28aeffa2
+0, 1310, 1310, 1, 16607, 0x7d652b51
+0, 1320, 1320, 1, 16708, 0xa18cda61
+0, 1330, 1330, 1, 16834, 0xd00d3612
+0, 1340, 1340, 1, 16908, 0xab6b55bc
+0, 1350, 1350, 1, 17031, 0x15d03798
+0, 1360, 1360, 1, 17162, 0xa1246800
+0, 1370, 1370, 1, 17433, 0x11fc5391
+0, 1380, 1380, 1, 17641, 0xf01069f3
+0, 1390, 1390, 1, 17918, 0x1df6d8f4
+0, 1400, 1400, 1, 18022, 0x29070e7a
+0, 1410, 1410, 1, 18123, 0x0b202ab9
+0, 1420, 1420, 1, 18227, 0xc2166417
+0, 1430, 1430, 1, 18290, 0x9274864d
+0, 1440, 1440, 1, 18455, 0xb6beb7d1
+0, 1450, 1450, 1, 18733, 0xe1da7dd3
+0, 1460, 1460, 1, 18798, 0x2688b183
+0, 1470, 1470, 1, 18924, 0xd20fd52b
+0, 1480, 1480, 1, 18962, 0x137ddd75
+0, 1490, 1490, 1, 19148, 0xa52f4385
+0, 1500, 1500, 1, 19368, 0x4602b2c5
+0, 1510, 1510, 1, 19442, 0x281cc33e
+0, 1520, 1520, 1, 19543, 0x31bd0758
+0, 1530, 1530, 1, 19609, 0xc7680529
+0, 1540, 1540, 1, 19710, 0xd0303592
+0, 1550, 1550, 1, 19829, 0x013ebd6f
+0, 1560, 1560, 1, 19949, 0x49304a4f
+0, 1570, 1570, 1, 20048, 0xfc31cede
+0, 1580, 1580, 1, 20144, 0xbf3a520c
+0, 1590, 1590, 1, 20207, 0x82d1692d
+0, 1600, 1600, 1, 20362, 0x09876636
+0, 1610, 1610, 1, 20575, 0x6f19e529
+0, 1620, 1620, 1, 20687, 0x27c833bb
+0, 1630, 1630, 1, 20765, 0x40a49321
+0, 1640, 1640, 1, 20877, 0x1f8c2519
+0, 1650, 1650, 1, 21163, 0x23aff601
+0, 1660, 1660, 1, 21241, 0x080c4974
+0, 1670, 1670, 1, 21347, 0xa22a49c1
+0, 1680, 1680, 1, 21443, 0xf423945f
+0, 1690, 1690, 1, 21612, 0x29b0e092
+0, 1700, 1700, 1, 21675, 0x7971c7f7
+0, 1710, 1710, 1, 21820, 0x2c3c1bfe
+0, 1720, 1720, 1, 21938, 0x6070d21e
diff --git a/tests/ref/fate/gifenc-gray b/tests/ref/fate/gifenc-gray
new file mode 100644
index 0000000000..c7e90d1e6f
--- /dev/null
+++ b/tests/ref/fate/gifenc-gray
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 568, 0xe1d43487
+0, 10, 10, 1, 142, 0x92d43281
+0, 20, 20, 1, 130, 0x29383852
+0, 30, 30, 1, 129, 0x036732fa
+0, 40, 40, 1, 145, 0xcbc036bb
+0, 50, 50, 1, 135, 0x6e4536d1
+0, 60, 60, 1, 127, 0xe73f2f55
+0, 70, 70, 1, 119, 0x7912307f
+0, 80, 80, 1, 132, 0xce58343c
+0, 90, 90, 1, 126, 0x1fcd2b9c
+0, 100, 100, 1, 127, 0x6c293369
+0, 110, 110, 1, 126, 0x19162e3f
+0, 120, 120, 1, 119, 0x06602dec
+0, 130, 130, 1, 118, 0x8b083037
+0, 140, 140, 1, 115, 0xa8372c6d
+0, 150, 150, 1, 114, 0x8d0f2dbd
+0, 160, 160, 1, 129, 0xb5ab318d
+0, 170, 170, 1, 129, 0x278e34bd
+0, 180, 180, 1, 119, 0x408e3131
+0, 190, 190, 1, 121, 0x069a2c25
+0, 200, 200, 1, 127, 0x24793635
+0, 210, 210, 1, 110, 0xe30a29cc
+0, 220, 220, 1, 116, 0xf7b827f0
+0, 230, 230, 1, 118, 0xf5f62ff6
+0, 240, 240, 1, 115, 0xb7c92c27
+0, 250, 250, 1, 114, 0x0a642b7e
+0, 260, 260, 1, 114, 0x07b32c7c
+0, 270, 270, 1, 118, 0x1f4432b8
+0, 280, 280, 1, 144, 0xa81e3c75
+0, 290, 290, 1, 121, 0xacb828d6
+0, 300, 300, 1, 148, 0xb245426a
+0, 310, 310, 1, 124, 0x3d173009
+0, 320, 320, 1, 151, 0xa57c443d
+0, 330, 330, 1, 121, 0x93da2d00
+0, 340, 340, 1, 124, 0x1dd02f53
+0, 350, 350, 1, 117, 0xb0942d05
+0, 360, 360, 1, 117, 0xb5af292b
+0, 370, 370, 1, 116, 0x731a30ff
+0, 380, 380, 1, 123, 0x16342dde
+0, 390, 390, 1, 117, 0xef9e2f92
+0, 400, 400, 1, 110, 0x646e2a4a
+0, 410, 410, 1, 110, 0xe44f2be1
+0, 420, 420, 1, 108, 0x58f22c11
+0, 430, 430, 1, 112, 0x2c702d3e
+0, 440, 440, 1, 111, 0x7b412ab9
+0, 450, 450, 1, 112, 0xe95d2dfb
+0, 460, 460, 1, 109, 0x2baf2bde
+0, 470, 470, 1, 114, 0x3a772c6a
+0, 480, 480, 1, 110, 0xfe702831
+0, 490, 490, 1, 125, 0xa31f344b
+0, 500, 500, 1, 119, 0xbc31318d
+0, 510, 510, 1, 115, 0xc7b62b8f
+0, 520, 520, 1, 118, 0x7cf22dcb
+0, 530, 530, 1, 119, 0xe16c2f96
+0, 540, 540, 1, 119, 0x86d43604
+0, 550, 550, 1, 109, 0x22b72af1
+0, 560, 560, 1, 103, 0x12982731
+0, 570, 570, 1, 114, 0x6ef22e10
+0, 580, 580, 1, 109, 0x621b26dd
+0, 590, 590, 1, 110, 0xfe062836
+0, 600, 600, 1, 112, 0x4a8e2ce3
+0, 610, 610, 1, 111, 0xa7ae2865
+0, 620, 620, 1, 103, 0x80bc2b33
+0, 630, 630, 1, 114, 0xc2f92f3f
+0, 640, 640, 1, 108, 0x81332cdf
+0, 650, 650, 1, 121, 0x0d1133ad
+0, 660, 660, 1, 136, 0x2c0c3481
+0, 670, 670, 1, 108, 0x55222d1f
+0, 680, 680, 1, 125, 0x9cc536df
+0, 690, 690, 1, 114, 0x04602ae4
+0, 700, 700, 1, 99, 0xd58f291d
+0, 710, 710, 1, 98, 0xcb8f2807
+0, 720, 720, 1, 109, 0x7f292c9b
+0, 730, 730, 1, 106, 0x3daa297f
+0, 740, 740, 1, 100, 0xb7032b73
+0, 750, 750, 1, 88, 0xd56b218e
+0, 760, 760, 1, 93, 0xdcfd2353
+0, 770, 770, 1, 112, 0x35322b03
+0, 780, 780, 1, 112, 0x7c2b2d67
+0, 790, 790, 1, 204, 0xd02c5bd9
+0, 800, 800, 1, 204, 0x82055f0a
+0, 810, 810, 1, 115, 0x76472e9b
+0, 820, 820, 1, 110, 0x22b12abc
+0, 830, 830, 1, 116, 0x50a0318e
+0, 840, 840, 1, 115, 0x10632f57
+0, 850, 850, 1, 120, 0x9c5631e3
+0, 860, 860, 1, 114, 0x0e192ed8
+0, 870, 870, 1, 109, 0xdedb2a99
+0, 880, 880, 1, 105, 0x639c2cf5
+0, 890, 890, 1, 117, 0x4aff2afa
+0, 900, 900, 1, 103, 0x44842781
+0, 910, 910, 1, 147, 0x22493e48
+0, 920, 920, 1, 117, 0x3cb02d86
+0, 930, 930, 1, 111, 0x813d2e1f
+0, 940, 940, 1, 83, 0xb6961b02
+0, 950, 950, 1, 159, 0x5f2e43d0
+0, 960, 960, 1, 126, 0x56d42d1d
+0, 970, 970, 1, 164, 0xea6c464d
+0, 980, 980, 1, 133, 0x21113425
+0, 990, 990, 1, 125, 0xfc6e322e
+0, 1000, 1000, 1, 116, 0x226830da
+0, 1010, 1010, 1, 130, 0xa71a317d
+0, 1020, 1020, 1, 127, 0x5b5433af
+0, 1030, 1030, 1, 172, 0x0ed64b21
+0, 1040, 1040, 1, 142, 0x9733380f
+0, 1050, 1050, 1, 184, 0x358b533c
+0, 1060, 1060, 1, 155, 0x5304441c
+0, 1070, 1070, 1, 139, 0x15743a98
+0, 1080, 1080, 1, 129, 0xc5782f81
+0, 1090, 1090, 1, 144, 0x1ee637c8
+0, 1100, 1100, 1, 133, 0x69403297
+0, 1110, 1110, 1, 192, 0x128553a4
+0, 1120, 1120, 1, 159, 0xea783f5a
+0, 1130, 1130, 1, 201, 0xc04252a1
+0, 1140, 1140, 1, 161, 0xb56b44f6
+0, 1150, 1150, 1, 136, 0x402130e8
+0, 1160, 1160, 1, 117, 0x694c3490
+0, 1170, 1170, 1, 151, 0x96803b5d
+0, 1180, 1180, 1, 135, 0x9a9b399f
+0, 1190, 1190, 1, 147, 0x7e83348d
+0, 1200, 1200, 1, 135, 0x932e3720
+0, 1210, 1210, 1, 183, 0x822946e2
+0, 1220, 1220, 1, 116, 0x93652e25
+0, 1230, 1230, 1, 117, 0x77063135
+0, 1240, 1240, 1, 109, 0x12752965
+0, 1250, 1250, 1, 111, 0x8fd62b54
+0, 1260, 1260, 1, 188, 0x6c1850e5
+0, 1270, 1270, 1, 121, 0x15003168
+0, 1280, 1280, 1, 115, 0x93482f77
+0, 1290, 1290, 1, 120, 0x36552de5
+0, 1300, 1300, 1, 117, 0x74472f78
+0, 1310, 1310, 1, 188, 0xadac5400
+0, 1320, 1320, 1, 125, 0xccb83070
+0, 1330, 1330, 1, 118, 0x606e2d29
+0, 1340, 1340, 1, 130, 0x77eb3516
+0, 1350, 1350, 1, 120, 0x500f3045
+0, 1360, 1360, 1, 164, 0x729244f4
+0, 1370, 1370, 1, 234, 0xff2969ee
+0, 1380, 1380, 1, 207, 0xf9366155
+0, 1390, 1390, 1, 210, 0x31555d58
+0, 1400, 1400, 1, 118, 0x7f9a32bd
+0, 1410, 1410, 1, 120, 0xfba63099
+0, 1420, 1420, 1, 114, 0xcb382d23
+0, 1430, 1430, 1, 115, 0x10f32bad
+0, 1440, 1440, 1, 206, 0x405e630e
+0, 1450, 1450, 1, 216, 0xf6e6635f
+0, 1460, 1460, 1, 123, 0x43aa33b8
+0, 1470, 1470, 1, 121, 0x780d3018
+0, 1480, 1480, 1, 121, 0xdba92f73
+0, 1490, 1490, 1, 118, 0x35b32e26
+0, 1500, 1500, 1, 116, 0x79ff2c29
+0, 1510, 1510, 1, 110, 0xb0552ba1
+0, 1520, 1520, 1, 117, 0x08f62fd4
+0, 1530, 1530, 1, 112, 0x0dac2e9d
+0, 1540, 1540, 1, 142, 0x092138a5
+0, 1550, 1550, 1, 119, 0x752a2fc6
+0, 1560, 1560, 1, 105, 0xec5824cd
+0, 1570, 1570, 1, 115, 0xea282f22
+0, 1580, 1580, 1, 108, 0x60b72ece
+0, 1590, 1590, 1, 139, 0x6ec63b92
+0, 1600, 1600, 1, 216, 0x2c906371
+0, 1610, 1610, 1, 226, 0x77b1687d
+0, 1620, 1620, 1, 155, 0x8180455a
+0, 1630, 1630, 1, 121, 0x66092c73
+0, 1640, 1640, 1, 123, 0xf9f22cb9
+0, 1650, 1650, 1, 220, 0x65525fcb
+0, 1660, 1660, 1, 153, 0x4b9f414c
+0, 1670, 1670, 1, 120, 0x072e3379
+0, 1680, 1680, 1, 109, 0xe46a2b38
+0, 1690, 1690, 1, 118, 0xf0f12d62
+0, 1700, 1700, 1, 117, 0xcb9e2cbb
+0, 1710, 1710, 1, 137, 0x1ae83718
+0, 1720, 1720, 1, 161, 0x87364667
diff --git a/tests/ref/fate/gifenc-pal8 b/tests/ref/fate/gifenc-pal8
new file mode 100644
index 0000000000..7cf1eaec0c
--- /dev/null
+++ b/tests/ref/fate/gifenc-pal8
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 1320, 0x95d1a9e9
+0, 10, 10, 1, 1463, 0xa697fe95
+0, 20, 20, 1, 1637, 0x294d54f9
+0, 30, 30, 1, 1755, 0x7e0b9c4d
+0, 40, 40, 1, 1896, 0x4aacc768
+0, 50, 50, 1, 2038, 0x209d1490
+0, 60, 60, 1, 2168, 0x0c405606
+0, 70, 70, 1, 2258, 0xc2fa9229
+0, 80, 80, 1, 2441, 0x2076ec47
+0, 90, 90, 1, 2565, 0x15742730
+0, 100, 100, 1, 2733, 0x2eb57d95
+0, 110, 110, 1, 2849, 0x9f16ad46
+0, 120, 120, 1, 2981, 0xf139f908
+0, 130, 130, 1, 3081, 0x0b2a4aeb
+0, 140, 140, 1, 3200, 0x35227f42
+0, 150, 150, 1, 3315, 0x35edc001
+0, 160, 160, 1, 3462, 0x27a20d23
+0, 170, 170, 1, 3599, 0x83c52b01
+0, 180, 180, 1, 3712, 0x947d49d1
+0, 190, 190, 1, 3838, 0xf87eb223
+0, 200, 200, 1, 3948, 0x5203eede
+0, 210, 210, 1, 4083, 0x32101e33
+0, 220, 220, 1, 4186, 0x6b0e5a13
+0, 230, 230, 1, 4323, 0x6326a0f5
+0, 240, 240, 1, 4426, 0x5f6bd655
+0, 250, 250, 1, 4564, 0xc62005fd
+0, 260, 260, 1, 4664, 0x43e97006
+0, 270, 270, 1, 4808, 0xf6e08d4f
+0, 280, 280, 1, 4932, 0x2d51e0b5
+0, 290, 290, 1, 5071, 0x25e830c7
+0, 300, 300, 1, 5246, 0x452e945c
+0, 310, 310, 1, 5353, 0x27eec140
+0, 320, 320, 1, 5535, 0xda38038c
+0, 330, 330, 1, 5691, 0x358970e4
+0, 340, 340, 1, 5835, 0xd89201d8
+0, 350, 350, 1, 5966, 0xfbee1fed
+0, 360, 360, 1, 6082, 0xd4b88e90
+0, 370, 370, 1, 6276, 0x1b02e684
+0, 380, 380, 1, 6382, 0xc1db2297
+0, 390, 390, 1, 6509, 0xc65473a6
+0, 400, 400, 1, 6621, 0xca917a35
+0, 410, 410, 1, 6714, 0x70f29b1d
+0, 420, 420, 1, 6822, 0x6f02e7ec
+0, 430, 430, 1, 6880, 0x95440d97
+0, 440, 440, 1, 6983, 0xab7a43fb
+0, 450, 450, 1, 7085, 0xc3427580
+0, 460, 460, 1, 7242, 0x3d00c5f0
+0, 470, 470, 1, 7349, 0x453fad59
+0, 480, 480, 1, 7513, 0x96d12666
+0, 490, 490, 1, 7575, 0xf8cb3c77
+0, 500, 500, 1, 7759, 0x1fe6ab40
+0, 510, 510, 1, 7846, 0x3853fd0f
+0, 520, 520, 1, 7975, 0x88d02c47
+0, 530, 530, 1, 8092, 0xe28a3368
+0, 540, 540, 1, 8188, 0x159a5d3b
+0, 550, 550, 1, 8307, 0x598cae50
+0, 560, 560, 1, 8436, 0xd104ee50
+0, 570, 570, 1, 8498, 0x0b1527ed
+0, 580, 580, 1, 8559, 0x0f722288
+0, 590, 590, 1, 8661, 0x3efb2500
+0, 600, 600, 1, 8774, 0x1e188a8b
+0, 610, 610, 1, 8848, 0x5b438dbb
+0, 620, 620, 1, 8968, 0x4b47ecb3
+0, 630, 630, 1, 9036, 0x7a8e0791
+0, 640, 640, 1, 9114, 0x7379131a
+0, 650, 650, 1, 9258, 0x06099246
+0, 660, 660, 1, 9423, 0x721ac9ab
+0, 670, 670, 1, 9529, 0xbb1c0d18
+0, 680, 680, 1, 9608, 0xc29a05f0
+0, 690, 690, 1, 9668, 0xf35221ff
+0, 700, 700, 1, 9709, 0x8c6d33f0
+0, 710, 710, 1, 9810, 0x2d5b59f4
+0, 720, 720, 1, 9879, 0x110ea6e5
+0, 730, 730, 1, 10038, 0x5945f5f4
+0, 740, 740, 1, 10120, 0xab24f519
+0, 750, 750, 1, 10218, 0x090d305a
+0, 760, 760, 1, 10231, 0xa77e6a66
+0, 770, 770, 1, 10313, 0x192254b7
+0, 780, 780, 1, 10444, 0x36609934
+0, 790, 790, 1, 10670, 0xfa971206
+0, 800, 800, 1, 10902, 0x01b59fd5
+0, 810, 810, 1, 10992, 0x1f2ab0bc
+0, 820, 820, 1, 11044, 0x7f5b1dc2
+0, 830, 830, 1, 11170, 0x0beaee49
+0, 840, 840, 1, 11267, 0xb1ae3808
+0, 850, 850, 1, 11427, 0x2cc9aa3f
+0, 860, 860, 1, 11529, 0x654de4f3
+0, 870, 870, 1, 11632, 0xf4972bdf
+0, 880, 880, 1, 11825, 0x0cd2548c
+0, 890, 890, 1, 11864, 0x80758637
+0, 900, 900, 1, 11949, 0x87c86fb9
+0, 910, 910, 1, 12088, 0x1b99c82b
+0, 920, 920, 1, 12160, 0x72fbf4ac
+0, 930, 930, 1, 12305, 0x9f62069a
+0, 940, 940, 1, 12295, 0x0625d96b
+0, 950, 950, 1, 12496, 0xe67cb2cf
+0, 960, 960, 1, 12660, 0x4d1d05ea
+0, 970, 970, 1, 12763, 0x12542531
+0, 980, 980, 1, 12916, 0x37c444db
+0, 990, 990, 1, 13021, 0xa1c89f22
+0, 1000, 1000, 1, 13184, 0xe13ad0be
+0, 1010, 1010, 1, 13315, 0x11b93a5d
+0, 1020, 1020, 1, 13336, 0x128254ee
+0, 1030, 1030, 1, 13536, 0x48b7b5de
+0, 1040, 1040, 1, 13728, 0x03f4d302
+0, 1050, 1050, 1, 13821, 0xfe4e97eb
+0, 1060, 1060, 1, 14002, 0x0de77dfc
+0, 1070, 1070, 1, 14156, 0xf1b1d4e1
+0, 1080, 1080, 1, 14256, 0x355320cc
+0, 1090, 1090, 1, 14451, 0x306cb131
+0, 1100, 1100, 1, 14508, 0xca729c8e
+0, 1110, 1110, 1, 14683, 0x7abec197
+0, 1120, 1120, 1, 14852, 0xa5b90496
+0, 1130, 1130, 1, 15090, 0xcd29839d
+0, 1140, 1140, 1, 15225, 0xfd85f899
+0, 1150, 1150, 1, 15340, 0x07411310
+0, 1160, 1160, 1, 15473, 0xe90086c1
+0, 1170, 1170, 1, 15583, 0x524da1f3
+0, 1180, 1180, 1, 15683, 0x404cbd62
+0, 1190, 1190, 1, 15779, 0x3ec01717
+0, 1200, 1200, 1, 15934, 0xac8b4c03
+0, 1210, 1210, 1, 16116, 0xb4fa83c9
+0, 1220, 1220, 1, 16153, 0x18f669c1
+0, 1230, 1230, 1, 16303, 0x765b10e4
+0, 1240, 1240, 1, 16460, 0xc4a8149a
+0, 1250, 1250, 1, 16475, 0x48664e2d
+0, 1260, 1260, 1, 16710, 0x8a599742
+0, 1270, 1270, 1, 16848, 0x8634a3d5
+0, 1280, 1280, 1, 16955, 0x01f1ebda
+0, 1290, 1290, 1, 17044, 0xd57b47df
+0, 1300, 1300, 1, 17153, 0xc5cf7bc7
+0, 1310, 1310, 1, 17375, 0xbbeea767
+0, 1320, 1320, 1, 17476, 0xd7a25686
+0, 1330, 1330, 1, 17602, 0x1c99b228
+0, 1340, 1340, 1, 17676, 0xd860d1d2
+0, 1350, 1350, 1, 17799, 0xe4ccb3ae
+0, 1360, 1360, 1, 17930, 0xf322e416
+0, 1370, 1370, 1, 18201, 0xc6f1cfa7
+0, 1380, 1380, 1, 18409, 0x7cdfe609
+0, 1390, 1390, 1, 18686, 0xf65e5519
+0, 1400, 1400, 1, 18790, 0x6d5c8a90
+0, 1410, 1410, 1, 18891, 0x4702a6cf
+0, 1420, 1420, 1, 18995, 0x69e5e02d
+0, 1430, 1430, 1, 19058, 0xc56f0272
+0, 1440, 1440, 1, 19223, 0xe89733f6
+0, 1450, 1450, 1, 19501, 0xdb80f9e9
+0, 1460, 1460, 1, 19566, 0xa3952da8
+0, 1470, 1470, 1, 19692, 0x65925150
+0, 1480, 1480, 1, 19730, 0x1352599a
+0, 1490, 1490, 1, 19916, 0xd246bf9b
+0, 1500, 1500, 1, 20136, 0x1c462eea
+0, 1510, 1510, 1, 20210, 0xdec93f63
+0, 1520, 1520, 1, 20311, 0xdff7836e
+0, 1530, 1530, 1, 20377, 0x753d813f
+0, 1540, 1540, 1, 20478, 0x7592b1a8
+0, 1550, 1550, 1, 20597, 0x58313994
+0, 1560, 1560, 1, 20717, 0xcdd9c665
+0, 1570, 1570, 1, 20816, 0x803b4b03
+0, 1580, 1580, 1, 20912, 0xce36ce22
+0, 1590, 1590, 1, 20975, 0x1d08e543
+0, 1600, 1600, 1, 21130, 0xc966e24c
+0, 1610, 1610, 1, 21343, 0x735e614e
+0, 1620, 1620, 1, 21455, 0x78d7afd1
+0, 1630, 1630, 1, 21533, 0x62a10f46
+0, 1640, 1640, 1, 21645, 0x8e53a12f
+0, 1650, 1650, 1, 21931, 0x3b2f7226
+0, 1660, 1660, 1, 22009, 0xf06bc58a
+0, 1670, 1670, 1, 22115, 0xeeb1c5d7
+0, 1680, 1680, 1, 22211, 0xcbab1084
+0, 1690, 1690, 1, 22380, 0xf07d5cb7
+0, 1700, 1700, 1, 22443, 0xcb79441c
+0, 1710, 1710, 1, 22588, 0xcad49814
+0, 1720, 1720, 1, 22706, 0x34924e43
diff --git a/tests/ref/fate/gifenc-rgb4_byte b/tests/ref/fate/gifenc-rgb4_byte
new file mode 100644
index 0000000000..5b33fb4cdb
--- /dev/null
+++ b/tests/ref/fate/gifenc-rgb4_byte
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 507, 0xde1f113a
+0, 10, 10, 1, 193, 0x6c2448d4
+0, 20, 20, 1, 130, 0x2c222a38
+0, 30, 30, 1, 395, 0x0c139f90
+0, 40, 40, 1, 431, 0x4093bb5e
+0, 50, 50, 1, 466, 0x307ecb19
+0, 60, 60, 1, 542, 0xe8fae7d2
+0, 70, 70, 1, 597, 0x5b7f0870
+0, 80, 80, 1, 969, 0xefb6cd0c
+0, 90, 90, 1, 1044, 0x6500f3ee
+0, 100, 100, 1, 1185, 0xb3602d63
+0, 110, 110, 1, 1273, 0x84ca6006
+0, 120, 120, 1, 1352, 0x86aa8986
+0, 130, 130, 1, 1428, 0xeb1da79d
+0, 140, 140, 1, 1488, 0x6549cd84
+0, 150, 150, 1, 1428, 0x3c1f8b5e
+0, 160, 160, 1, 1709, 0xd9ab39f1
+0, 170, 170, 1, 1834, 0x9b5865c8
+0, 180, 180, 1, 1933, 0x3e5e8fa8
+0, 190, 190, 1, 1944, 0x67448c6f
+0, 200, 200, 1, 2170, 0xafa60bdd
+0, 210, 210, 1, 2051, 0xe603ba51
+0, 220, 220, 1, 2250, 0x10d74679
+0, 230, 230, 1, 2334, 0xc9224dc4
+0, 240, 240, 1, 2267, 0xa1cc3467
+0, 250, 250, 1, 2447, 0xc1248bb6
+0, 260, 260, 1, 2552, 0x5193b550
+0, 270, 270, 1, 2450, 0x990c82c5
+0, 280, 280, 1, 2893, 0xccf35e77
+0, 290, 290, 1, 2905, 0x64d45dc1
+0, 300, 300, 1, 3158, 0x103d0545
+0, 310, 310, 1, 3276, 0x7dd92526
+0, 320, 320, 1, 3439, 0x1ca57e83
+0, 330, 330, 1, 3481, 0x4cad6dd3
+0, 340, 340, 1, 3641, 0xac67bebf
+0, 350, 350, 1, 3727, 0xc88df63a
+0, 360, 360, 1, 3826, 0x319e3e11
+0, 370, 370, 1, 3933, 0x3d066774
+0, 380, 380, 1, 3944, 0x3d585bb8
+0, 390, 390, 1, 4011, 0x815286ac
+0, 400, 400, 1, 4119, 0xcd9dba95
+0, 410, 410, 1, 4132, 0x52259b57
+0, 420, 420, 1, 4332, 0xa5f037b6
+0, 430, 430, 1, 4400, 0xe03653c6
+0, 440, 440, 1, 4376, 0x52b71156
+0, 450, 450, 1, 4483, 0x8cf671c2
+0, 460, 460, 1, 4623, 0xd632c8a6
+0, 470, 470, 1, 4692, 0xa0b6f5a0
+0, 480, 480, 1, 4752, 0xbd86228c
+0, 490, 490, 1, 4947, 0x943688c9
+0, 500, 500, 1, 5076, 0xc6e6bb8e
+0, 510, 510, 1, 5189, 0x1963f89b
+0, 520, 520, 1, 5287, 0x3ace3762
+0, 530, 530, 1, 5414, 0x0c0eb25b
+0, 540, 540, 1, 5688, 0x62d90e2c
+0, 550, 550, 1, 5806, 0xf2514244
+0, 560, 560, 1, 5905, 0xc69e829a
+0, 570, 570, 1, 6056, 0xdfdfc029
+0, 580, 580, 1, 6126, 0x0071e896
+0, 590, 590, 1, 6203, 0xdc57bc5d
+0, 600, 600, 1, 6313, 0x307a167b
+0, 610, 610, 1, 6416, 0x8e471ea1
+0, 620, 620, 1, 6471, 0x581d5221
+0, 630, 630, 1, 6552, 0x6e957723
+0, 640, 640, 1, 6650, 0xa39cae03
+0, 650, 650, 1, 6811, 0x7680fe85
+0, 660, 660, 1, 6966, 0xbef763ea
+0, 670, 670, 1, 7063, 0x1786757b
+0, 680, 680, 1, 7107, 0xb418701d
+0, 690, 690, 1, 7163, 0x0a996e5e
+0, 700, 700, 1, 7169, 0x94cd92ac
+0, 710, 710, 1, 7255, 0x9e27c671
+0, 720, 720, 1, 7355, 0x5ae7ed7d
+0, 730, 730, 1, 7407, 0x0ad4094a
+0, 740, 740, 1, 7485, 0xf2de3823
+0, 750, 750, 1, 7512, 0x2d5b4942
+0, 760, 760, 1, 7495, 0x039fea5a
+0, 770, 770, 1, 7602, 0x185644b9
+0, 780, 780, 1, 7677, 0x5427764e
+0, 790, 790, 1, 7824, 0x3c1bdfc6
+0, 800, 800, 1, 7975, 0xd97a0dc3
+0, 810, 810, 1, 8093, 0xb9c04303
+0, 820, 820, 1, 8249, 0x8f006a33
+0, 830, 830, 1, 8288, 0xc734a06f
+0, 840, 840, 1, 8418, 0x962ee9ee
+0, 850, 850, 1, 8508, 0x65e71dd7
+0, 860, 860, 1, 8563, 0x67ca31c5
+0, 870, 870, 1, 8676, 0xc87179ea
+0, 880, 880, 1, 8779, 0x80b07aee
+0, 890, 890, 1, 8897, 0xdde8ca43
+0, 900, 900, 1, 9036, 0x1373160a
+0, 910, 910, 1, 9050, 0x2fbb0e01
+0, 920, 920, 1, 9102, 0xe69b2dfc
+0, 930, 930, 1, 9207, 0xd3a53360
+0, 940, 940, 1, 9227, 0x8e10446b
+0, 950, 950, 1, 9480, 0x42aee212
+0, 960, 960, 1, 9548, 0x5ad7fe46
+0, 970, 970, 1, 9756, 0xf8387efc
+0, 980, 980, 1, 9884, 0x09207bce
+0, 990, 990, 1, 9960, 0x1c52d8cc
+0, 1000, 1000, 1, 10020, 0x31860047
+0, 1010, 1010, 1, 10107, 0x2c3b141f
+0, 1020, 1020, 1, 10268, 0xc18a6dd5
+0, 1030, 1030, 1, 10409, 0xc8efb2ca
+0, 1040, 1040, 1, 10512, 0x70460090
+0, 1050, 1050, 1, 10667, 0x0c093e54
+0, 1060, 1060, 1, 10789, 0x12f4b600
+0, 1070, 1070, 1, 10807, 0xdf2666f0
+0, 1080, 1080, 1, 11051, 0x9f2fbe4b
+0, 1090, 1090, 1, 11121, 0xc2221f4f
+0, 1100, 1100, 1, 11243, 0x834538ee
+0, 1110, 1110, 1, 11412, 0x69cf93d0
+0, 1120, 1120, 1, 11446, 0xb3ebc432
+0, 1130, 1130, 1, 11592, 0xe773219d
+0, 1140, 1140, 1, 11666, 0x4b010ef2
+0, 1150, 1150, 1, 11767, 0xfc994ccf
+0, 1160, 1160, 1, 11805, 0x867db358
+0, 1170, 1170, 1, 11878, 0xb1f99cd5
+0, 1180, 1180, 1, 11980, 0x8e7cb628
+0, 1190, 1190, 1, 12065, 0xe8a6c8fb
+0, 1200, 1200, 1, 12142, 0x120f0868
+0, 1210, 1210, 1, 12294, 0x0e2a815f
+0, 1220, 1220, 1, 12358, 0x9ec44f74
+0, 1230, 1230, 1, 12415, 0x57984d3e
+0, 1240, 1240, 1, 12484, 0x60e792ef
+0, 1250, 1250, 1, 12637, 0xda550e79
+0, 1260, 1260, 1, 12705, 0x387416aa
+0, 1270, 1270, 1, 12884, 0x93d565b1
+0, 1280, 1280, 1, 12934, 0xcc3acd63
+0, 1290, 1290, 1, 13018, 0x5d19e50a
+0, 1300, 1300, 1, 13120, 0x1d79d417
+0, 1310, 1310, 1, 13379, 0x68834368
+0, 1320, 1320, 1, 13442, 0x74a5a323
+0, 1330, 1330, 1, 13496, 0x542ba103
+0, 1340, 1340, 1, 13638, 0x4ed3cdb9
+0, 1350, 1350, 1, 13672, 0xb0cea3a7
+0, 1360, 1360, 1, 13780, 0x69cc1216
+0, 1370, 1370, 1, 14041, 0x26a159bb
+0, 1380, 1380, 1, 14177, 0xca8bcad9
+0, 1390, 1390, 1, 14386, 0x1a810f09
+0, 1400, 1400, 1, 14464, 0x89e15cc3
+0, 1410, 1410, 1, 14503, 0x28e335ba
+0, 1420, 1420, 1, 14620, 0x87039b52
+0, 1430, 1430, 1, 14786, 0xf594e3da
+0, 1440, 1440, 1, 14954, 0x27b6efb8
+0, 1450, 1450, 1, 15113, 0x59619847
+0, 1460, 1460, 1, 15237, 0x5533afb0
+0, 1470, 1470, 1, 15258, 0xca92b037
+0, 1480, 1480, 1, 15401, 0xe645ea07
+0, 1490, 1490, 1, 15485, 0x2e3fd45d
+0, 1500, 1500, 1, 15590, 0x839785f6
+0, 1510, 1510, 1, 15639, 0x286b947f
+0, 1520, 1520, 1, 15710, 0xe109b479
+0, 1530, 1530, 1, 15845, 0xb983e576
+0, 1540, 1540, 1, 15819, 0x0f870857
+0, 1550, 1550, 1, 15934, 0x1d4f099f
+0, 1560, 1560, 1, 16086, 0x52118670
+0, 1570, 1570, 1, 16134, 0xbc6e9e1c
+0, 1580, 1580, 1, 16235, 0xd550b479
+0, 1590, 1590, 1, 16255, 0x78a598da
+0, 1600, 1600, 1, 16553, 0x6abd2c56
+0, 1610, 1610, 1, 16670, 0xe7405032
+0, 1620, 1620, 1, 16849, 0xe3cb8052
+0, 1630, 1630, 1, 16961, 0x5bb8144b
+0, 1640, 1640, 1, 16964, 0x412d2c8b
+0, 1650, 1650, 1, 17178, 0x27038f39
+0, 1660, 1660, 1, 17233, 0x5be26ca6
+0, 1670, 1670, 1, 17377, 0x95e37b15
+0, 1680, 1680, 1, 17479, 0x7fd78720
+0, 1690, 1690, 1, 17498, 0x643e7d0a
+0, 1700, 1700, 1, 17620, 0x926b1baa
+0, 1710, 1710, 1, 17560, 0xba04651e
+0, 1720, 1720, 1, 17648, 0xf4391cc1
diff --git a/tests/ref/fate/gifenc-rgb8 b/tests/ref/fate/gifenc-rgb8
new file mode 100644
index 0000000000..0465cf8921
--- /dev/null
+++ b/tests/ref/fate/gifenc-rgb8
@@ -0,0 +1,174 @@
+#tb 0: 1/100
+0, 0, 0, 1, 552, 0x47602c6c
+0, 10, 10, 1, 296, 0xb4fe95a2
+0, 20, 20, 1, 457, 0x094cddbc
+0, 30, 30, 1, 561, 0xde1e1eda
+0, 40, 40, 1, 736, 0x214a727b
+0, 50, 50, 1, 879, 0xcb3ece91
+0, 60, 60, 1, 988, 0x6d73fdd3
+0, 70, 70, 1, 1034, 0xd7561a6f
+0, 80, 80, 1, 1266, 0x42f383c2
+0, 90, 90, 1, 1262, 0xec807046
+0, 100, 100, 1, 179, 0x0690541c
+0, 110, 110, 1, 1650, 0xbe403782
+0, 120, 120, 1, 1789, 0xa8869efa
+0, 130, 130, 1, 1731, 0xbcfa7a2a
+0, 140, 140, 1, 1947, 0x81faf4ae
+0, 150, 150, 1, 2015, 0x9241f8ff
+0, 160, 160, 1, 2256, 0x5979832b
+0, 170, 170, 1, 2420, 0x4fded762
+0, 180, 180, 1, 2504, 0x329d0104
+0, 190, 190, 1, 2604, 0xee6707e3
+0, 200, 200, 1, 2805, 0x80e998e5
+0, 210, 210, 1, 2876, 0x71e3a8c1
+0, 220, 220, 1, 2980, 0x77e5d327
+0, 230, 230, 1, 3096, 0x31dc20bc
+0, 240, 240, 1, 3210, 0x17073031
+0, 250, 250, 1, 3299, 0x79e57fe8
+0, 260, 260, 1, 3396, 0x4f38c1ec
+0, 270, 270, 1, 3496, 0x0a0ccee2
+0, 280, 280, 1, 3703, 0x5de13b37
+0, 290, 290, 1, 3878, 0x201baf7d
+0, 300, 300, 1, 4095, 0x58980971
+0, 310, 310, 1, 4152, 0x8dfa0b07
+0, 320, 320, 1, 4342, 0x4b71a904
+0, 330, 330, 1, 4514, 0xfb9be5ce
+0, 340, 340, 1, 4609, 0x2b043300
+0, 350, 350, 1, 4781, 0xc969b3a1
+0, 360, 360, 1, 4754, 0x573aa51f
+0, 370, 370, 1, 5011, 0xcf051a34
+0, 380, 380, 1, 5094, 0xdb304d4e
+0, 390, 390, 1, 5207, 0x12b2b281
+0, 400, 400, 1, 2346, 0x98f8d488
+0, 410, 410, 1, 1451, 0xfc50e5b8
+0, 420, 420, 1, 272, 0x7ffd8015
+0, 430, 430, 1, 1422, 0xc89fd0b6
+0, 440, 440, 1, 314, 0x50f299f8
+0, 450, 450, 1, 188, 0x991f52da
+0, 460, 460, 1, 5429, 0x2e410a88
+0, 470, 470, 1, 6017, 0x10b75eb8
+0, 480, 480, 1, 6120, 0x3271939c
+0, 490, 490, 1, 6350, 0x25a1e14f
+0, 500, 500, 1, 6573, 0x8e7f78be
+0, 510, 510, 1, 6640, 0x4b906975
+0, 520, 520, 1, 6741, 0x09b4b2d2
+0, 530, 530, 1, 6976, 0xd71e0451
+0, 540, 540, 1, 7081, 0x3b3d5d96
+0, 550, 550, 1, 7190, 0x43e08b08
+0, 560, 560, 1, 7303, 0x789db394
+0, 570, 570, 1, 7107, 0xfd973662
+0, 580, 580, 1, 7401, 0xf22cefc1
+0, 590, 590, 1, 7529, 0xd055268f
+0, 600, 600, 1, 7642, 0x6e8c4e4e
+0, 610, 610, 1, 7702, 0x04df7a90
+0, 620, 620, 1, 7809, 0xbdaa746e
+0, 630, 630, 1, 7846, 0x0c76be01
+0, 640, 640, 1, 7924, 0x020bdae0
+0, 650, 650, 1, 8189, 0xb5ae5872
+0, 660, 660, 1, 8358, 0x41588a80
+0, 670, 670, 1, 8457, 0x17aec618
+0, 680, 680, 1, 8448, 0x6fe4d014
+0, 690, 690, 1, 8685, 0x271b29da
+0, 700, 700, 1, 8703, 0x2b1d543f
+0, 710, 710, 1, 8782, 0x3ad37896
+0, 720, 720, 1, 8839, 0x3603942b
+0, 730, 730, 1, 8453, 0xeb28be8b
+0, 740, 740, 1, 8641, 0x35dd24cf
+0, 750, 750, 1, 9203, 0x471e37ed
+0, 760, 760, 1, 9191, 0x94b638e6
+0, 770, 770, 1, 9259, 0xbc0b58ee
+0, 780, 780, 1, 8905, 0x1e9e9bbc
+0, 790, 790, 1, 9171, 0x053e06be
+0, 800, 800, 1, 9857, 0x2778480f
+0, 810, 810, 1, 9989, 0x83949a91
+0, 820, 820, 1, 10005, 0x90a8d339
+0, 830, 830, 1, 9614, 0xe0481ebe
+0, 840, 840, 1, 9777, 0x6ed15fe2
+0, 850, 850, 1, 10364, 0x7c76a7c9
+0, 860, 860, 1, 10496, 0x0dddbbc8
+0, 870, 870, 1, 10541, 0x742aec5b
+0, 880, 880, 1, 10185, 0x4f8203d2
+0, 890, 890, 1, 10309, 0x0802342e
+0, 900, 900, 1, 10947, 0x2be867d3
+0, 910, 910, 1, 11045, 0xc6fdd553
+0, 920, 920, 1, 11054, 0x712a0b68
+0, 930, 930, 1, 10637, 0x11f61342
+0, 940, 940, 1, 10673, 0x2ea0e35b
+0, 950, 950, 1, 11495, 0xdc4daed5
+0, 960, 960, 1, 11710, 0xb0982c2f
+0, 970, 970, 1, 11853, 0xaba66c60
+0, 980, 980, 1, 11633, 0x8dbaf9a5
+0, 990, 990, 1, 12088, 0x77c6c019
+0, 1000, 1000, 1, 12214, 0x2258da24
+0, 1010, 1010, 1, 12364, 0xa5826f91
+0, 1020, 1020, 1, 12390, 0xf9ca337a
+0, 1030, 1030, 1, 12634, 0x7f24ef77
+0, 1040, 1040, 1, 12783, 0x80a3ef7b
+0, 1050, 1050, 1, 12935, 0xf646bce6
+0, 1060, 1060, 1, 13151, 0xa3fddf67
+0, 1070, 1070, 1, 13297, 0x5194345c
+0, 1080, 1080, 1, 13398, 0xbacc92df
+0, 1090, 1090, 1, 13593, 0xece81394
+0, 1100, 1100, 1, 13650, 0x19a50f4c
+0, 1110, 1110, 1, 13861, 0x3f0a3be4
+0, 1120, 1120, 1, 14030, 0x0a497635
+0, 1130, 1130, 1, 14304, 0x52ea0416
+0, 1140, 1140, 1, 14439, 0x8e9f84ad
+0, 1150, 1150, 1, 14572, 0xf0a6a956
+0, 1160, 1160, 1, 14705, 0x439b16df
+0, 1170, 1170, 1, 14815, 0xacdc2f29
+0, 1180, 1180, 1, 14915, 0x59b75de8
+0, 1190, 1190, 1, 15011, 0xb1ccaf19
+0, 1200, 1200, 1, 15166, 0x5096ef46
+0, 1210, 1210, 1, 15348, 0xab4a2cd9
+0, 1220, 1220, 1, 15385, 0x03981120
+0, 1230, 1230, 1, 15535, 0x25d4bd16
+0, 1240, 1240, 1, 15692, 0x5ab9bbb1
+0, 1250, 1250, 1, 15707, 0x1be5ffc8
+0, 1260, 1260, 1, 15942, 0x267748e2
+0, 1270, 1270, 1, 16080, 0x76a14ebb
+0, 1280, 1280, 1, 16187, 0xded89de8
+0, 1290, 1290, 1, 16276, 0x861f0195
+0, 1300, 1300, 1, 16385, 0x7b2444b3
+0, 1310, 1310, 1, 16607, 0xcea35a1b
+0, 1320, 1320, 1, 16708, 0xdf7df945
+0, 1330, 1330, 1, 16834, 0xbb405f28
+0, 1340, 1340, 1, 16908, 0x4f597965
+0, 1350, 1350, 1, 17031, 0x90ab6981
+0, 1360, 1360, 1, 17162, 0x63288c81
+0, 1370, 1370, 1, 17433, 0x8df076db
+0, 1380, 1380, 1, 17641, 0xf3c092bb
+0, 1390, 1390, 1, 17918, 0x4b52018c
+0, 1400, 1400, 1, 18022, 0xce5043aa
+0, 1410, 1410, 1, 18123, 0x56de4a96
+0, 1420, 1420, 1, 18227, 0xf4937b23
+0, 1430, 1430, 1, 18290, 0x6adeb2c6
+0, 1440, 1440, 1, 18455, 0x6960cccc
+0, 1450, 1450, 1, 18733, 0x98ac92d4
+0, 1460, 1460, 1, 18798, 0xb0afda64
+0, 1470, 1470, 1, 18924, 0xd4ddfcf9
+0, 1480, 1480, 1, 18962, 0x6ba9fa09
+0, 1490, 1490, 1, 19148, 0x9ab766f4
+0, 1500, 1500, 1, 19368, 0xe2d9c9ff
+0, 1510, 1510, 1, 19442, 0xd8e9dd47
+0, 1520, 1520, 1, 19543, 0x3185075e
+0, 1530, 1530, 1, 19609, 0xad8619eb
+0, 1540, 1540, 1, 19710, 0x4e1858cc
+0, 1550, 1550, 1, 19829, 0x8e2ddd1a
+0, 1560, 1560, 1, 19949, 0xa2d664cb
+0, 1570, 1570, 1, 20048, 0xd87bf37e
+0, 1580, 1580, 1, 20144, 0x032b7022
+0, 1590, 1590, 1, 20207, 0x5fbd91f6
+0, 1600, 1600, 1, 20362, 0x6e2587d9
+0, 1610, 1610, 1, 20575, 0xbdb909ec
+0, 1620, 1620, 1, 20687, 0xfa5d47d8
+0, 1630, 1630, 1, 20765, 0xaeb7be00
+0, 1640, 1640, 1, 20877, 0xdc294c19
+0, 1650, 1650, 1, 21163, 0x39d218cf
+0, 1660, 1660, 1, 21241, 0xab766ba8
+0, 1670, 1670, 1, 21347, 0xa1516a9f
+0, 1680, 1680, 1, 21443, 0xff56b01c
+0, 1690, 1690, 1, 21612, 0xdbe2fe6e
+0, 1700, 1700, 1, 21675, 0x9ff6f253
+0, 1710, 1710, 1, 21820, 0x313a327c
+0, 1720, 1720, 1, 21938, 0x3bf9ea0d
diff --git a/tests/ref/lavf/gif b/tests/ref/lavf/gif
index f46a651208..4acd5ca087 100644
--- a/tests/ref/lavf/gif
+++ b/tests/ref/lavf/gif
@@ -1,24 +1,3 @@
66398be6fafa026fb0fa5f2978fa3446 *./tests/data/lavf/lavf.gif
2011766 ./tests/data/lavf/lavf.gif
./tests/data/lavf/lavf.gif CRC=0x0d96deb8
-8d76374306a3f79bc1114affeb0365b9 *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x51811243
-1047862 ./tests/data/images/gif/02.gif
-02350bb3d28d48019073ff91134a9598 *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x006183fd
-488742 ./tests/data/images/gif/02.gif
-49b1a02636079b8de0d39fa71cf726d5 *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x006183fd
-488742 ./tests/data/images/gif/02.gif
-6cc813a16fb3852884b93fe4d936d3cc *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x51811243
-1047862 ./tests/data/images/gif/02.gif
-8d76374306a3f79bc1114affeb0365b9 *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x51811243
-1047862 ./tests/data/images/gif/02.gif
-9e8812f67441c3fdad01384e8983ddfc *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0xd742fb02
-810442 ./tests/data/images/gif/02.gif
-6bf983516596bd5338e225dbe6765fdb *./tests/data/images/gif/02.gif
-./tests/data/images/gif/02.gif CRC=0x51811243
-1057078 ./tests/data/images/gif/02.gif