[0.10.0] - 2022-04-06
There is an incompatible ABI change in this release. New members were added to
the avifDecoder and avifRGBImage structs. It is necessary to recompile your
code.
Added
- Support F16 Half Float conversion in avifRGBImage: new isFloat member
- Incremental decoding of AVIF grid tiles: new allowIncremental member in
avifDecoder and new avifDecoderDecodedRowCount() function - Support parsing of version 3 of ItemInfoEntry
- Add new avifResult code AVIF_RESULT_OUT_OF_MEMORY
- Document the "[Strict]" prefix in error strings
- Document that SVT-AV1 doesn't support lossless yet
- CI: Add CIFuzz integration
- Add Docker build CI pipeline
- Add SVT-AV1 to CI and build scripts
- ci.yml: Build examples and apps
Changed
- Print the item type in the diagnostic messages for missing mandatory av1C or
pixi property - Update aom.cmd: v3.3.0
- Update dav1d.cmd: 1.0.0
- Update libgav1.cmd: 0.17.0
- Update rav1e.cmd: 0.5.0
- Update svt.cmd/svt.sh: v0.9.1
- Update zlibpng.cmd: zlib v1.2.12
- findrav1e: add LDFLAGS to LIBRARIES
- rav1e: add bcrypt.lib to list of extra libs
- Fix y4m read/write for images of non-standard dimensions
- Fix y4mRead() and y4mWrite() for 4:0:0
- Fix compilation with Clang 13 and 14
- Remove the obsolete script fuzz.sh
- Support local android builds for libgav1
- Add Android JNI bindings
- Delay failures of AV1 codecs not existing to frame decoding, to allow libavif
to perform AVIF parsing without any AV1 codecs - Change encoder speed in gdk-pixbuf plug-in
- Fix compilation with 1755 <= LIBYUV_VERSION < 1774
- Remove JSON-based tests (as they are unreliable), along with associated
helper code (cJSON, compare) - CMakeLists.txt: Move codec enabled message after check passed
- Fix alpha copy in aomCodecEncodeImage()
- Support SVT-AV1 v0.9.0 or later
- Call svt_av1_get_version() for SVT-AV1 v0.9.0 or later
- Handle avifArrayCreate() failures
- Only consider a frame index to be a keyframe if all tiles/planes are sync
frames - Move checks to avifAreGridDimensionsValid()
- avifArrayPop() should zero the popped element
- avifDecoderReset() should not return AVIF_FALSE
- Handle avifDecoderDataCreateTile() failures
- Fix endian dependent parameters to avifRWStreamWrite
- Mark the input images of an image grid as hidden
- Write ccst box in Sample Entry for animated images
- Add iso8 to compatible_brands for animated images
- Compare with snapshot of AOM_EXT_PART_ABI_VERSION
- Handle the new AOM_IMG_FMT_NV12 enum conditionally in a switch statement in
aomCodecGetNextImage() - Fix avifpng.c for libpng 1.4
- Fix -Wformat / -Wformat-non-iso on MinGW UCRT
- Replace some memcpy calls with struct assignments
- Remove unnecessary memcpy() calls in src/utils.c
- Split CMakeLists.txt into tests/CMakeLists.txt
- Use bilinear chroma upsampling in libyuv when possible
- Call libyuv functions to convert 10bpc YUV to 8bpc RGB
- Prepare avif example for non-aborting avifAlloc()
- Handle the tileRowsLog2 and tileColsLog2 members of avifEncoder correctly for
SVT-AV1.