APNG support project evaluation

Research phase

Learned a lot about the inner workings of the PNG/APNG formats and how graphics formats are imported/exported within LibreOffice

APNG parsing

Implemented APNG parsing, which includes reading the chunks, separating the different data sections for each frame, and using their frame specific options, creating a Graphic object.

APNG exporting

Added support for exporting a Graphic object into an APNG, in a way that other animated objects such as ones imported from GIFs (or other formats in the future perhaps) can be seamlessly converted to APNGs

Work done

Full APNG import support as an animated graphic Full APNG export support Can export APNGs from the UI APNG related unit tests

Patch list, newest to oldest

https://gerrit.libreoffice.org/c/core/+/155878
https://gerrit.libreoffice.org/c/core/+/155387
https://gerrit.libreoffice.org/c/core/+/153556
https://gerrit.libreoffice.org/c/core/+/140089
https://gerrit.libreoffice.org/c/core/+/140109
https://gerrit.libreoffice.org/c/core/+/140090

Final thoughts

Google Summer of Code was a great experience and a great learning opportunity and LibreOffice was an amazing organization with very knowledgable mentors. I suggest it to anyone wishing to join GSoC in the future!