Add AVIF decoding support using libavif
Add an SkCodec implementation for AVIF decoding that uses libavif.
libavif also depends on libgav1 (for AV1 decoding) and libyuv (for
scaling and YUV to RGB color conversion).
* The BUILD.gn for libgav1 and libyuv are intended to be functional
but not necessarily optimal. This change is primarily intended
to be on the Android framework where the GN system is not used.
So, there are possibilities for the GN files to be optimized.
* The AVIF test files are obtained by transcoding existing skia
test resources (of the same name) into AVIF.
* The codec is disabled by default and enbled using a build
time flag (skia_use_libavif).
Test: New unit tests pass with skia_use_libavif = true.
Reviewed-by: Leon Scroggins <email@example.com>
Commit-Queue: Leon Scroggins <firstname.lastname@example.org>
19 files changed