libavifinfo is a standalone library that can be used to extract the width, height, bit depth, number of channels and other metadata from an AVIF payload.
avifinfo.h for details on the API and
avifinfo.c for the implementation. See
tests/avifinfo_demo.cc for API usage examples.
AvifInfoGetFeatures() is designed to return the same
avifImage field values as
avifDecoderParse(). However libavifinfo is more permissive and may return features of images considered invalid by libavif.
avifinfo.c is written in C. To build from this directory:
mkdir build && \ cd build && \ cmake .. && \ cmake --build . --config Release
Tests are written in C++. GoogleTest is required.
mkdir build && \ cd build && \ cmake .. -DAVIFINFO_BUILD_TESTS=ON && \ cmake --build . --config Debug && \ ctest .
Google C/C++ Style Guide is used in this project.
If you would like to contribute to libavifinfo, please follow the steps for libaom at https://aomedia.googlesource.com/aom/#submitting-patches.
The PHP implementation of libavifinfo is a subset of the C API.
libavifinfo was implemented into php-src natively and is available through
getimagesize() at head. If it is not available in the PHP release version you use, you can fallback to
avifinfo_test.php for a usage example.
Bug reports can be filed in the Alliance for Open Media issue tracker.