Fixes following errors:
error: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
First, we must not forget to call `avifImageDestroy()` when we're
finished with the image.
Then we also need to cater to the allocated `dataBuf`. To keep track
of that, we "extend" `avifIO` as `avifIOCtxReader`. To simplify, and
to avoid unnecessary allocations, we use `realloc()`. To better fit
with GD, we also use the GD memory allocation functions instead of the
ones provided by libavif.
* Enable webpng on MINGW
* Detect GD version using cmake language
* Use _aligned_malloc instead of posix_memalign on Windows
* Include missing "errno.h"
* Fix finding WEBP on MINGW
* Fix finding XPM on MINGW
* Use PkgConfig to find packages on MINGW
* CI: Enable more options for MINGW
* Partial #818, unused arg
* Partial #818, init var
* partail #818, fix va_args usage
* partail #818, handle f* calls and avoid possible call to malloc with negative values
* partail #818, prevent double free
* partail #818, resource leak if test fail
* partail #818, null deref fix
* partail #818, avoid double free on fp failure
* Partial #818, fix error msg
* Partial #818, leak on error
* Partial #818, null deref
* Partial #818, avoid possible negative index on failure
* partial #818, does not free if we return if requested new size overflow
* partial #818, avoid double free, free where the alloc happened
* partial #818, fix assert logic and test exp_size for <=0
* partial #818, fix assert logic for color idx test
* partial #818, new case for possible leak, improve logic
* partial #818, fix assert logic for color idx test
* Fix#806, getPixelInterpolateWeight, getPixelOverflowTC, getPixelOverflowPalette, gdImageRotate* take bgcolor as GD's truecolor, result is a TC image as well.Clean dead code.
* Not needed at this stage
* #797 possible leak on png error, returns from setjmp lost the row_pointers ref somehow
* skip that one using mingw until we have a reliable portable FP related tests suites (may never happpen)
Since #737 gdImageColorTransparent does not correctly handle the case that im->transparent = -1
(which is the initial value and used to indicate no transparent colour has been set).
This leads to undefined behaviour via an out-of-bound write:
im->alpha[im->transparent] = gdAlphaOpaque;
(in practice I assume this merely overwrites an earlier struct member)
This can be triggered via loading a gif through gdImageCreateFromGifPtr
third_party/gd/source/gd.c:922:2: runtime error: index -1 out of bounds for type 'int [256]'
#0 0x5629c034a839 in gdImageColorTransparent third_party/gd/source/gd.c:922:29
#1 0x5629c034ebf0 in gdImageCreateFromGifCtx third_party/gd/source/gd_gif_in.c:328:4
#2 0x5629c034f14f in gdImageCreateFromGifPtr third_party/gd/source/gd_gif_in.c:186:7
Fixes#784.
There are small typos in:
- examples/copyrotated.c
- src/gd.c
- src/gd.h
- src/gd_avif.c
- src/gd_nnquant.c
- src/gd_tga.c
- src/gd_topal.c
- src/wbmp.c
- tests/avif/compare_avif_to_png.c
Fixes:
- Should read `requires` rather than `reqiures`.
- Should read `of the` rather than `ofthe`.
- Should read `memory` rather than `memmory`.
- Should read `maximum` rather than `maxmum`.
- Should read `intersection` rather than `intertersection`.
- Should read `hypotenuse` rather than `hypothenus`.
- Should read `flexibility` rather than `flexibilty`.
- Should read `always` rather than `alwasy`.
- Should read `also` rather than `alos`.
* add AOM dep for libavif
* add ninja build
* add nasm
* sudo ninja install
* we have it installed already on aws/ubuntu graviton
* we have it installed already on aws/ubuntu graviton, at the right step
* install libuv and libavif
* missing dav1d and update step names
* 20.04 does not have dav1d
* dav1d sudo ninja install
* We need shared lib for all codecs
* Enable AVIF in gd and enable deps on Graviton
* attempt to fix prefix install for dav1d and ensure it can be loaded
* ensure AOM codec is installed in /usr
* ensure YUV is installed in /usr
* AWS/Graviton has YUV already
* aom,yuv,avif has been removed from the graviton setup, installing it like on other flows. Keep same version.
* let keep AOM as it is used and installed using HEIF repo, with latest version too