[gdk-pixbuf: 7/7] Merge branch 'gif-fixes' into 'master'



commit 53dae762de78050555a15e4df0b28073cbf2afe8
Merge: ca0106c6b a314f5934
Author: Emmanuele Bassi <ebassi gmail com>
Date:   Mon Feb 18 16:06:02 2019 +0000

    Merge branch 'gif-fixes' into 'master'
    
    Fix GIF decoding bugs
    
    See merge request GNOME/gdk-pixbuf!28

 gdk-pixbuf/io-gif.c                                |  61 +-----
 tests/circular-table.gif                           | Bin 0 -> 403644 bytes
 tests/meson.build                                  |   2 +
 tests/pixbuf-gif-circular-table.c                  |  24 +++
 tests/pixbuf-gif.c                                 | 222 +++++++++++++++++++++
 tests/test-images/gif-test-suite/255-codes.conf    |  14 ++
 tests/test-images/gif-test-suite/255-codes.gif     | Bin 0 -> 6869 bytes
 .../gif-test-suite/4095-codes-clear.conf           |  14 ++
 .../gif-test-suite/4095-codes-clear.gif            | Bin 0 -> 6213 bytes
 tests/test-images/gif-test-suite/4095-codes.conf   |  14 ++
 tests/test-images/gif-test-suite/4095-codes.gif    | Bin 0 -> 6146 bytes
 tests/test-images/gif-test-suite/TESTS             |  80 ++++++++
 tests/test-images/gif-test-suite/all-blues.conf    |  14 ++
 tests/test-images/gif-test-suite/all-blues.gif     | Bin 0 -> 1087 bytes
 tests/test-images/gif-test-suite/all-blues.png     | Bin 0 -> 493 bytes
 tests/test-images/gif-test-suite/all-blues.rgba    | Bin 0 -> 1024 bytes
 tests/test-images/gif-test-suite/all-greens.conf   |  14 ++
 tests/test-images/gif-test-suite/all-greens.gif    | Bin 0 -> 1087 bytes
 tests/test-images/gif-test-suite/all-greens.png    | Bin 0 -> 495 bytes
 tests/test-images/gif-test-suite/all-greens.rgba   | Bin 0 -> 1024 bytes
 tests/test-images/gif-test-suite/all-reds.conf     |  14 ++
 tests/test-images/gif-test-suite/all-reds.gif      | Bin 0 -> 1087 bytes
 tests/test-images/gif-test-suite/all-reds.png      | Bin 0 -> 492 bytes
 tests/test-images/gif-test-suite/all-reds.rgba     | Bin 0 -> 1024 bytes
 .../gif-test-suite/animation-erase.0.png           | Bin 0 -> 71 bytes
 .../gif-test-suite/animation-erase.0.rgba          | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-erase.1.png           | Bin 0 -> 73 bytes
 .../gif-test-suite/animation-erase.1.rgba          | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-erase.2.png           | Bin 0 -> 71 bytes
 .../gif-test-suite/animation-erase.2.rgba          | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-erase.3.png           | Bin 0 -> 72 bytes
 .../gif-test-suite/animation-erase.3.rgba          | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-fill.0.png            | Bin 0 -> 76 bytes
 .../gif-test-suite/animation-fill.0.rgba           | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-fill.1.png            | Bin 0 -> 74 bytes
 .../gif-test-suite/animation-fill.1.rgba           | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-fill.2.png            | Bin 0 -> 73 bytes
 .../gif-test-suite/animation-fill.2.rgba           | Bin 0 -> 16 bytes
 .../gif-test-suite/animation-fill.3.png            | Bin 0 -> 71 bytes
 .../gif-test-suite/animation-fill.3.rgba           |   1 +
 .../animation-multi-image-explicit-zero-delay.conf |  27 +++
 .../animation-multi-image-explicit-zero-delay.gif  | Bin 0 -> 206 bytes
 .../gif-test-suite/animation-multi-image.conf      |  27 +++
 .../gif-test-suite/animation-multi-image.gif       | Bin 0 -> 182 bytes
 .../gif-test-suite/animation-no-delays.conf        |  23 +++
 .../gif-test-suite/animation-no-delays.gif         | Bin 0 -> 101 bytes
 .../gif-test-suite/animation-speed.conf            |  27 +++
 .../test-images/gif-test-suite/animation-speed.gif | Bin 0 -> 133 bytes
 .../gif-test-suite/animation-zero-delays.conf      |  23 +++
 .../gif-test-suite/animation-zero-delays.gif       | Bin 0 -> 133 bytes
 tests/test-images/gif-test-suite/animation.0.png   | Bin 0 -> 76 bytes
 tests/test-images/gif-test-suite/animation.0.rgba  | Bin 0 -> 16 bytes
 tests/test-images/gif-test-suite/animation.1.png   | Bin 0 -> 76 bytes
 tests/test-images/gif-test-suite/animation.1.rgba  | Bin 0 -> 16 bytes
 tests/test-images/gif-test-suite/animation.2.png   | Bin 0 -> 75 bytes
 tests/test-images/gif-test-suite/animation.2.rgba  | Bin 0 -> 16 bytes
 tests/test-images/gif-test-suite/animation.3.png   | Bin 0 -> 76 bytes
 tests/test-images/gif-test-suite/animation.3.rgba  | Bin 0 -> 16 bytes
 tests/test-images/gif-test-suite/animation.conf    |  27 +++
 tests/test-images/gif-test-suite/animation.gif     | Bin 0 -> 133 bytes
 tests/test-images/gif-test-suite/checkerboard.png  | Bin 0 -> 82 bytes
 tests/test-images/gif-test-suite/checkerboard.rgba | Bin 0 -> 256 bytes
 tests/test-images/gif-test-suite/comment.conf      |  15 ++
 tests/test-images/gif-test-suite/comment.gif       | Bin 0 -> 69 bytes
 tests/test-images/gif-test-suite/depth1.conf       |  14 ++
 tests/test-images/gif-test-suite/depth1.gif        | Bin 0 -> 35 bytes
 tests/test-images/gif-test-suite/depth2.conf       |  14 ++
 tests/test-images/gif-test-suite/depth2.gif        | Bin 0 -> 41 bytes
 tests/test-images/gif-test-suite/depth3.conf       |  14 ++
 tests/test-images/gif-test-suite/depth3.gif        | Bin 0 -> 53 bytes
 tests/test-images/gif-test-suite/depth4.conf       |  14 ++
 tests/test-images/gif-test-suite/depth4.gif        | Bin 0 -> 77 bytes
 tests/test-images/gif-test-suite/depth5.conf       |  14 ++
 tests/test-images/gif-test-suite/depth5.gif        | Bin 0 -> 126 bytes
 tests/test-images/gif-test-suite/depth6.conf       |  14 ++
 tests/test-images/gif-test-suite/depth6.gif        | Bin 0 -> 222 bytes
 tests/test-images/gif-test-suite/depth7.conf       |  14 ++
 tests/test-images/gif-test-suite/depth7.gif        | Bin 0 -> 414 bytes
 tests/test-images/gif-test-suite/depth8.conf       |  14 ++
 tests/test-images/gif-test-suite/depth8.gif        | Bin 0 -> 799 bytes
 .../gif-test-suite/disabled-transparent.conf       |  14 ++
 .../gif-test-suite/disabled-transparent.gif        | Bin 0 -> 62 bytes
 tests/test-images/gif-test-suite/dispose-keep.conf |  27 +++
 tests/test-images/gif-test-suite/dispose-keep.gif  | Bin 0 -> 131 bytes
 tests/test-images/gif-test-suite/dispose-none.conf |  27 +++
 tests/test-images/gif-test-suite/dispose-none.gif  | Bin 0 -> 131 bytes
 .../gif-test-suite/dispose-restore-background.conf |  27 +++
 .../gif-test-suite/dispose-restore-background.gif  | Bin 0 -> 131 bytes
 .../gif-test-suite/dispose-restore-previous.conf   |  27 +++
 .../gif-test-suite/dispose-restore-previous.gif    | Bin 0 -> 146 bytes
 .../test-images/gif-test-suite/double-clears.conf  |  14 ++
 tests/test-images/gif-test-suite/double-clears.gif | Bin 0 -> 148 bytes
 tests/test-images/gif-test-suite/empty.icc         |   0
 tests/test-images/gif-test-suite/empty.xmp         |   0
 tests/test-images/gif-test-suite/extra-data.conf   |  14 ++
 tests/test-images/gif-test-suite/extra-data.gif    | Bin 0 -> 68 bytes
 tests/test-images/gif-test-suite/extra-pixels.conf |  14 ++
 tests/test-images/gif-test-suite/extra-pixels.gif  | Bin 0 -> 60 bytes
 .../gif-test-suite/four-colors-transparent.png     | Bin 0 -> 74 bytes
 .../gif-test-suite/four-colors-transparent.rgba    | Bin 0 -> 16 bytes
 tests/test-images/gif-test-suite/four-colors.conf  |  14 ++
 tests/test-images/gif-test-suite/four-colors.gif   | Bin 0 -> 58 bytes
 tests/test-images/gif-test-suite/four-colors.png   | Bin 0 -> 75 bytes
 tests/test-images/gif-test-suite/four-colors.rgba  | Bin 0 -> 16 bytes
 .../gif-test-suite/gif87a-animation.conf           |  23 +++
 .../gif-test-suite/gif87a-animation.gif            | Bin 0 -> 82 bytes
 tests/test-images/gif-test-suite/gif87a.conf       |  14 ++
 tests/test-images/gif-test-suite/gif87a.gif        | Bin 0 -> 35 bytes
 tests/test-images/gif-test-suite/high-color.conf   |  13 ++
 tests/test-images/gif-test-suite/high-color.gif    | Bin 0 -> 4306 bytes
 tests/test-images/gif-test-suite/high-color.png    | Bin 0 -> 1195 bytes
 tests/test-images/gif-test-suite/high-color.rgba   | Bin 0 -> 4096 bytes
 .../gif-test-suite/icc-color-profile-empty.conf    |  15 ++
 .../gif-test-suite/icc-color-profile-empty.gif     | Bin 0 -> 68 bytes
 .../gif-test-suite/icc-color-profile.conf          |  15 ++
 .../gif-test-suite/icc-color-profile.gif           | Bin 0 -> 16822 bytes
 .../gif-test-suite/image-inside-bg.conf            |  14 ++
 .../test-images/gif-test-suite/image-inside-bg.gif | Bin 0 -> 53 bytes
 .../test-images/gif-test-suite/image-inside-bg.png | Bin 0 -> 72 bytes
 .../gif-test-suite/image-inside-bg.rgba            | Bin 0 -> 16 bytes
 .../gif-test-suite/image-outside-bg.conf           |  14 ++
 .../gif-test-suite/image-outside-bg.gif            | Bin 0 -> 54 bytes
 .../gif-test-suite/image-outside-bg.png            | Bin 0 -> 68 bytes
 .../gif-test-suite/image-outside-bg.rgba           | Bin 0 -> 16 bytes
 .../gif-test-suite/image-overlap-bg.conf           |  14 ++
 .../gif-test-suite/image-overlap-bg.gif            | Bin 0 -> 54 bytes
 .../gif-test-suite/image-overlap-bg.png            | Bin 0 -> 71 bytes
 .../gif-test-suite/image-overlap-bg.rgba           | Bin 0 -> 16 bytes
 .../gif-test-suite/image-zero-height.conf          |  14 ++
 .../gif-test-suite/image-zero-height.gif           | Bin 0 -> 30 bytes
 .../gif-test-suite/image-zero-size.conf            |  14 ++
 .../test-images/gif-test-suite/image-zero-size.gif | Bin 0 -> 30 bytes
 .../gif-test-suite/image-zero-width.conf           |  14 ++
 .../gif-test-suite/image-zero-width.gif            | Bin 0 -> 30 bytes
 .../test-images/gif-test-suite/images-combine.conf |  14 ++
 .../test-images/gif-test-suite/images-combine.gif  | Bin 0 -> 98 bytes
 .../test-images/gif-test-suite/images-overlap.conf |  14 ++
 .../test-images/gif-test-suite/images-overlap.gif  | Bin 0 -> 68 bytes
 tests/test-images/gif-test-suite/interlace.conf    |  14 ++
 tests/test-images/gif-test-suite/interlace.gif     | Bin 0 -> 1087 bytes
 .../gif-test-suite/invalid-ascii-comment.conf      |  15 ++
 .../gif-test-suite/invalid-ascii-comment.gif       | Bin 0 -> 59 bytes
 .../gif-test-suite/invalid-background.conf         |  13 ++
 .../gif-test-suite/invalid-background.gif          | Bin 0 -> 35 bytes
 .../test-images/gif-test-suite/invalid-colors.conf |  11 +
 .../test-images/gif-test-suite/invalid-colors.gif  | Bin 0 -> 37 bytes
 .../gif-test-suite/invalid-transparent.conf        |  14 ++
 .../gif-test-suite/invalid-transparent.gif         | Bin 0 -> 62 bytes
 .../gif-test-suite/invalid-utf8-comment.conf       |  15 ++
 .../gif-test-suite/invalid-utf8-comment.gif        | Bin 0 -> 60 bytes
 tests/test-images/gif-test-suite/large-codes.conf  |  14 ++
 tests/test-images/gif-test-suite/large-codes.gif   | Bin 0 -> 6358 bytes
 .../test-images/gif-test-suite/large-comment.conf  |  15 ++
 tests/test-images/gif-test-suite/large-comment.gif | Bin 0 -> 13106 bytes
 .../gif-test-suite/local-color-table.conf          |  14 ++
 .../gif-test-suite/local-color-table.gif           | Bin 0 -> 41 bytes
 .../test-images/gif-test-suite/loop-animexts.conf  |  15 ++
 tests/test-images/gif-test-suite/loop-animexts.gif | Bin 0 -> 78 bytes
 tests/test-images/gif-test-suite/loop-buffer.conf  |  15 ++
 tests/test-images/gif-test-suite/loop-buffer.gif   | Bin 0 -> 78 bytes
 .../gif-test-suite/loop-buffer_max.conf            |  15 ++
 .../test-images/gif-test-suite/loop-buffer_max.gif | Bin 0 -> 78 bytes
 .../test-images/gif-test-suite/loop-infinite.conf  |  14 ++
 tests/test-images/gif-test-suite/loop-infinite.gif | Bin 0 -> 72 bytes
 tests/test-images/gif-test-suite/loop-max.conf     |  14 ++
 tests/test-images/gif-test-suite/loop-max.gif      | Bin 0 -> 72 bytes
 tests/test-images/gif-test-suite/loop-once.conf    |  14 ++
 tests/test-images/gif-test-suite/loop-once.gif     | Bin 0 -> 72 bytes
 tests/test-images/gif-test-suite/many-clears.conf  |  14 ++
 tests/test-images/gif-test-suite/many-clears.gif   | Bin 0 -> 116 bytes
 tests/test-images/gif-test-suite/max-codes.conf    |  14 ++
 tests/test-images/gif-test-suite/max-codes.gif     | Bin 0 -> 7624 bytes
 tests/test-images/gif-test-suite/max-height.conf   |  14 ++
 tests/test-images/gif-test-suite/max-height.gif    | Bin 0 -> 405 bytes
 tests/test-images/gif-test-suite/max-height.png    | Bin 0 -> 559 bytes
 tests/test-images/gif-test-suite/max-height.rgba   |   1 +
 tests/test-images/gif-test-suite/max-size.conf     |  11 +
 tests/test-images/gif-test-suite/max-size.gif      | Bin 0 -> 38 bytes
 tests/test-images/gif-test-suite/max-width.conf    |  14 ++
 tests/test-images/gif-test-suite/max-width.gif     | Bin 0 -> 405 bytes
 tests/test-images/gif-test-suite/max-width.png     | Bin 0 -> 334 bytes
 tests/test-images/gif-test-suite/max-width.rgba    |   1 +
 .../test-images/gif-test-suite/missing-pixels.conf |  14 ++
 .../test-images/gif-test-suite/missing-pixels.gif  | Bin 0 -> 53 bytes
 .../test-images/gif-test-suite/missing-pixels.png  | Bin 0 -> 71 bytes
 .../test-images/gif-test-suite/missing-pixels.rgba | Bin 0 -> 16 bytes
 .../gif-test-suite/no-clear-and-eoi.conf           |  14 ++
 .../gif-test-suite/no-clear-and-eoi.gif            | Bin 0 -> 52 bytes
 tests/test-images/gif-test-suite/no-clear.conf     |  14 ++
 tests/test-images/gif-test-suite/no-clear.gif      | Bin 0 -> 52 bytes
 tests/test-images/gif-test-suite/no-data.conf      |  14 ++
 tests/test-images/gif-test-suite/no-data.gif       | Bin 0 -> 20 bytes
 tests/test-images/gif-test-suite/no-eoi.conf       |  14 ++
 tests/test-images/gif-test-suite/no-eoi.gif        | Bin 0 -> 52 bytes
 .../gif-test-suite/no-global-color-table.conf      |  13 ++
 .../gif-test-suite/no-global-color-table.gif       | Bin 0 -> 35 bytes
 .../gif-test-suite/nul-application-extension.conf  |  14 ++
 .../gif-test-suite/nul-application-extension.gif   | Bin 0 -> 78 bytes
 tests/test-images/gif-test-suite/nul-comment.conf  |  15 ++
 tests/test-images/gif-test-suite/nul-comment.gif   | Bin 0 -> 58 bytes
 tests/test-images/gif-test-suite/plain-text.conf   |  11 +
 tests/test-images/gif-test-suite/plain-text.gif    | Bin 0 -> 90 bytes
 tests/test-images/gif-test-suite/random-image.png  | Bin 0 -> 8334 bytes
 tests/test-images/gif-test-suite/random-image.rgba | Bin 0 -> 40000 bytes
 tests/test-images/gif-test-suite/random_image.png  | Bin 0 -> 7927 bytes
 tests/test-images/gif-test-suite/sRGB.icc          | Bin 0 -> 16688 bytes
 tests/test-images/gif-test-suite/test.xmp          |   8 +
 .../test-images/gif-test-suite/transparent-dot.png | Bin 0 -> 68 bytes
 .../gif-test-suite/transparent-dot.rgba            | Bin 0 -> 4 bytes
 tests/test-images/gif-test-suite/transparent.conf  |  14 ++
 tests/test-images/gif-test-suite/transparent.gif   | Bin 0 -> 62 bytes
 .../unknown-application-extension.conf             |  14 ++
 .../unknown-application-extension.gif              | Bin 0 -> 80 bytes
 .../gif-test-suite/unknown-extension.conf          |  14 ++
 .../gif-test-suite/unknown-extension.gif           | Bin 0 -> 68 bytes
 tests/test-images/gif-test-suite/white-dot.png     | Bin 0 -> 68 bytes
 tests/test-images/gif-test-suite/white-dot.rgba    |   1 +
 tests/test-images/gif-test-suite/white-hline2.png  | Bin 0 -> 68 bytes
 tests/test-images/gif-test-suite/white-hline2.rgba |   1 +
 .../test-images/gif-test-suite/xmp-data-empty.conf |  15 ++
 .../test-images/gif-test-suite/xmp-data-empty.gif  | Bin 0 -> 325 bytes
 tests/test-images/gif-test-suite/xmp-data.conf     |  15 ++
 tests/test-images/gif-test-suite/xmp-data.gif      | Bin 0 -> 659 bytes
 tests/test-images/gif-test-suite/zero-height.conf  |  11 +
 tests/test-images/gif-test-suite/zero-height.gif   | Bin 0 -> 20 bytes
 tests/test-images/gif-test-suite/zero-size.conf    |  11 +
 tests/test-images/gif-test-suite/zero-size.gif     | Bin 0 -> 20 bytes
 tests/test-images/gif-test-suite/zero-width.conf   |  11 +
 tests/test-images/gif-test-suite/zero-width.gif    | Bin 0 -> 20 bytes
 229 files changed, 1587 insertions(+), 57 deletions(-)
---


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]