commit | 3becbeaf94c8e1c918979a63bb3af1cfdbc65938 | [log] [tgz] |
---|---|---|
author | Yannis Guyon <yguyon@google.com> | Mon Apr 08 14:50:06 2024 +0200 |
committer | Yannis Guyon <yguyon@google.com> | Mon Apr 08 13:04:50 2024 +0000 |
tree | ccac501d24fc45326f7089c2a378414467185896 | |
parent | f50948793d6ae181d82c1255a40fb1becce6ee57 [diff] |
Fix get_item_features() recursivity in PHP impl Add tests/avifinfo_test_199x200_alpha_grid2x1.avif. Use it in tests/avifinfo_test.php for extra checks. BUG=aomedia:3556 Change-Id: I3e4cfb03cadf17774970b5e425f9de9db69299d9
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.
See avifinfo.h
for details on the API and avifinfo.c
for the implementation. See tests/avifinfo_demo.cc
for API usage examples.
libavifinfo can be used when only a few AVIF features are needed and when linking to or including libavif is not an option. For decoding an image or extracting more features, please rely on libavif.
Note: 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.php
instead.
See avifinfo_test.php
for a usage example.
Bug reports can be filed in the Alliance for Open Media issue tracker.