This was released in 2012, and only developers really need it, so
bump the requirement. This will let us use some newer features
that aren't available in 2.64.
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