Commit Graph

22 Commits (6013c7bcf6eb795dba584f92d3824ebd3ae60202)

Author SHA1 Message Date
Ben Morss f2aa2836ed
AVIF support (#671)
Demand for AVIF support on the web is growing, as the word gets out
about this new file format which allows higher-quality encoding at
smaller sizes.  Core contributors to major open-source CMSs are
interested in auto-generating AVIF images! They've been simply
waiting for support to appear in libgd.

This PR aims to meet the growing demand, and to help bring smaller,
more beautiful images to more of the web - to sites created by
experienced developers and CMS users alike.

This PR adds support by incorporating libavif in addition to the
existing libheif support.  It's generally felt that libavif has
more complete support for the AVIF format. libavif is also used
by the Chromium project and squoosh.app.

In this PR, I've endeavored to incorporate the latest research into
best practices for AVIF encoding - not just for default quantizer
values, but also an algorithm for determining the number of
horizontal tiles, vertical tiles, and threads.

Fixes #557.
2021-03-03 21:35:56 -05:00
Mike Frysinger c75db8d082 scripts: clean up various shellcheck warnings
Should hopefully not break anything :).
2021-02-08 18:10:51 -05:00
willson-chen 7a73f68401 travis/main.sh: fix indent error 2020-05-22 23:17:23 +08:00
wilson chen 43df499f1f
Update travis/main.sh (#640)
* Use 'if [[ ]]' instead of 'if [ ]'
* Append args to cmake_args by '+='
2020-05-20 00:09:53 +08:00
wilson chen 450fd2e843
Fixed #472: Adjusting CMakeLists.txt (#582)
Add REQUIRED to FIND_PACKAGE
2020-05-10 22:41:14 +08:00
willson-chen 7cb597af4a travis/main.sh: delete option ENABLE_ZLIB in build_cmake() 2020-05-07 23:55:01 -04:00
wilson chen 7d90042437
Fix #597: add codecov support
1. travis/main.sh: generate code coverage report and submit to codecov.io
2. README.md: add codecov.io token
2020-03-01 16:49:39 +08:00
wilson chen 39d8665d06
Fix #589: install dependencies move to .travis.yml
Use native method of travis to install dependencies install of brew install manually.
2020-01-20 15:55:01 +08:00
willson-chen d8e0c1a5a3 travis: delete obsolete macOS code 2019-11-02 22:03:29 -06:00
Mike Frysinger 8779ca15b4 travis: add some source/lint tests
We probably should look into cpplint, but until then, these are
some simple hacks to catch common mistakes.
2018-07-14 13:35:45 -04:00
Mike Frysinger 14b8020dda make gd/gd2 image formats optional #428
We still enable them by default, but we'll probably flip them off
in the next major release series.
2018-01-30 17:58:44 -05:00
Christoph M. Becker 673a644e08 Fix the travis git status check
An ERE would be easier to read, but grep -E might not be supported.
2016-08-14 16:47:18 +02:00
Mike Frysinger 5090a9ebf7 cmake: allow static libs to be disabled
The standard behavior in distros nowadays is to build shared libs and
omit static libs.  Split the build knobs in cmake to support this.  It
also matches what's available with the autotools build.
2016-07-22 15:09:04 +05:30
Mike Frysinger 68806ff03e travis: workaround broken libtool #266
Newer Travis CI builds on OS X appear to have broken the installed
libtool.  Workaround it until things get fixed.
2016-07-21 21:17:46 +05:30
Mike Frysinger 3fe0a7128b travis: rework coverity scan
Using the addon kills the build immediately if we're throttled, so move
the logic to our main script where we have much better control over it.

This also let's us filter out duplicate builds -- instead of posting all
4 (current) matrix builds, we just post the first one.  The coverage is
pretty much the same.
2016-06-24 04:47:11 -04:00
Mike Frysinger 046290cd9e travis: update comments and add git status check
Want to make sure we don't forget to update .gitignore files!
2016-06-10 14:45:48 -04:00
Mike Frysinger 0bc8586ee2 travis: convert OS X build to common autoconf+cmake logic
This gets us the same coverage as Linux.
2016-05-21 11:35:49 -04:00
Mike Frysinger 119b38e6f8 travis: switch to the local bootstrap script
This provides better coverage in general for our tools, and allows us
to verify the manual generation.
2016-05-18 19:31:20 -04:00
Mike Frysinger 10a4915114 tests: rework handling of temp output files
Many of the tests open files in local paths for writing which leaves a
variety of temp files in the tests subdirs.  This ends up failing in a
few scenarios like out of tree builds or cmake builds.

Add a few helper functions to the common gdtest module to quickly get
handles to temp files for the tests to leverage.
2016-05-17 23:32:16 -04:00
Mike Frysinger 8f507770c9 tests: get working under lsan (leak sanitizer)
Fix the one leaking test, and make sure travis produces verbose test
failure output.
2016-05-14 02:49:57 -04:00
Mike Frysinger b12f217681 configure: enable -Werror by default when available
Turn this on when building under Travis to increase coverage.
2016-05-13 22:20:27 -04:00
Mike Frysinger 161ac240d6 travis: rework & improve main script logic
Pull the script code out into a real bash script so we can do a lot more
easily w/out having to worry about YAML syntax.

While we're here, expand the autotool testing and add some basic cmake
build tests too.
2016-04-30 20:58:40 -04:00