evas - gif loader rewrite (clean up code, document it a lot AND fix bugs)
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 30 Oct 2013 09:16:09 +0000 (18:16 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 30 Oct 2013 09:18:08 +0000 (18:18 +0900)
commit309e287b7c5ca4fb505d7756748d01da5c0fc203
tree5eccf403b31e924d772a1d69f5cf83adad6545cc
parent6c28aff7a0ac5c917d03f9f275ce3aa0dd749d1c
evas - gif loader rewrite (clean up code, document it a lot AND fix bugs)

after several days of beating head on desk, i gave up trying to find
the exact cause of some gifs not rendering right as animated gifs due
to the loader. it had something to do with dispose mode handling and
which frame it was applied to. i noticed the structure made it also
hard to fix, so this re-structures the entire thing with cleaner code,
less code AND more comments, with a limited memory cache (512k) for
previous frames per image (to avoid eating up huge memory blobs for
big/long animations - though at the expense of cpu), and with some
notes for future fixes - like fixing the "load 2 copies of the same
animated gif" issue... that's another day.

this does fix https://phab.enlightenment.org/T443 along with many
other things.
src/modules/evas/loaders/gif/evas_image_load_gif.c