Download raw body.
UPDATE: libavif 1.0.4
ping.
On 2024-02-27 8:08 p.m., Brad Smith wrote:
> Here is an update to libavif 1.0.4.
>
>
> ## [1.0.4] - 2024-02-08
>
> ### Changed
> * AVIF_ENABLE_WERROR is set to OFF by default.
> * Fix wrong alpha plane deallocation when decoded tile pixel format does not
> match reconstructed output image pixel format (b/320234262).
> * Fix identical chunk skipping optimization when writing animation data
> (b/321189607).
> * Fix ID selection for artificial grid alpha item when decoding a grid of tiles
> which each have an associated auxiliary alpha image item
> (https://crbug.com/oss-fuzz/65657).
>
> ## [1.0.3] - 2023-12-03
>
> ### Changed
> * Rewrite the fix for memory errors reported in crbug.com/1501770.
> * Fix memory errors reported in crbug.com/1504792 by [Fudan
> University](https://secsys.fudan.edu.cn/).
> * src/reformat.c: Allocate the threadData array directly.
>
> ## [1.0.2] - 2023-11-16
>
> ### Changed
> * Update avifCropRectConvertCleanApertureBox() to the revised requirements in
> ISO/IEC 23000-22:2019/Amd. 2:2021 Section 7.3.6.7.
> * Fix memory errors reported in crbug.com/1501766 and crbug.com/1501770 by
> [Fudan University](https://secsys.fudan.edu.cn/).
>
> ## [1.0.1] - 2023-08-29
>
> ### Changed
> * gdk-pixbuf: Explicitly pass link directories
> * gdk-pixbuf: Fix build failure after imir.mode -> imir.axis rename
>
> ## [1.0.0] - 2023-08-24
>
> With the 1.0.0 release, the ABI will be more stable from now on. Please note
> the allocation and initialization requirements for avifImage, avifDecoder,
> avifEncoder, and avifRGBImage in the "avif/avif.h" header.
>
> List of incompatible ABI changes in this release:
>
> * The clli member was added to the avifImage struct.
> * The repetitionCount member was added to the avifEncoder and avifDecoder
> structs.
> * The quality and qualityAlpha members were added to the avifEncoder struct.
> * Check that functions returning pointers do not return NULL before accessing
> those pointers.
> * Check the return value of avifEncoderSetCodecSpecificOption().
> * The maxThreads member was added to the avifRGBImage struct.
> * Check the return value of avifRGBImageAllocatePixels(), avifRWDataRealloc(),
> avifRWDataSet(), avifImageSetProfileICC(), avifImageSetMetadataExif() and
> avifImageSetMetadataXMP().
> * The meaning of the keyframeInterval member of avifEncoder struct has changed
> slightly. When set to a value of "n",
> * Before: It forces a keyframe on every nth frame.
> * After: Any set of "n" consecutive frame will have at least one keyframe
> (every nth frame may or may not be a keyframe).
>
> ### Added
> * Add STATIC library target avif_internal to allow tests to access functions
> from internal.h when BUILD_SHARED_LIBS is ON.
> * Add clli metadata read and write support
> * Add repetitionCount member to avifEncoder and avifDecoder structs to specify
> the number of repetitions for animated image sequences.
> * Add quality and qualityAlpha to avifEncoder. Note: minQuantizer,
> maxQuantizer, minQuantizerAlpha, and maxQuantizerAlpha are deprecated. Code
> should be updated to set quality (and qualityAlpha if applicable) and leave
> minQuantizer, maxQuantizer, minQuantizerAlpha, and maxQuantizerAlpha
> initialized to the default values.
> * The --target-size flag in avifenc was added to adapt the quality so that the
> output file size is as close to the given number of bytes as possible.
> * Add the public API function avifImageIsOpaque() in avif.h.
> * Add the public API functions avifImagePlane(), avifImagePlaneRowBytes(),
> avifImagePlaneWidth(), and avifImagePlaneHeight() in avif.h.
> * Add experimental API for progressive AVIF encoding.
> * Add API for multi-threaded YUV to RGB color conversion.
> * Add experimental support for AV2 behind the compilation flag AVIF_CODEC_AVM.
> AVIF_CODEC_CHOICE_AVM is now part of avifCodecChoice.
> * Add experimental YCgCo-R support behind the compilation flag
> AVIF_ENABLE_EXPERIMENTAL_YCGCO_R.
> * Allow lossless 4:0:0 on grayscale input.
> * Add avifenc --no-overwrite flag to avoid overwriting output file.
> * Add avifenc --clli flag to set clli.
> * Add support for all transfer functions when using libsharpyuv.
>
> ### Changed
> * Enable the libaom AV1E_SET_SKIP_POSTPROC_FILTERING codec control by default.
> * Use the constant rate factor (CRF) instead of the constant quantization
> parameter (CQP) rate control mode with the SVT-AV1 encoder.
> * Exif and XMP metadata is exported to PNG and JPEG files by default,
> except XMP payloads larger than 65502 bytes in JPEG.
> * The --grid flag in avifenc can be used for images that are not evenly divided
> into cells.
> * Apps must be built with libpng version 1.6.32 or above.
> * Change the encoder to write the boxes within the "stbl" box in the order of
> stsd, stts, stsc, stsz, stco, stss.
> * avifImageCopy() no longer accepts source U and V channels to be NULL for
> non-4:0:0 input if Y is not NULL and if AVIF_PLANES_YUV is specified.
> * The default values of the maxQuantizer and maxQuantizerAlpha members of
> avifEncoder changed from AVIF_QUANTIZER_LOSSLESS (0) to
> AVIF_QUANTIZER_WORST_QUALITY (63). The behavior changed if minQuantizer and
> maxQuantizer are left initialized to the default values. Code should be
> updated to set the quality member. Similarly for the alpha quantizers and
> qualityAlpha.
> * avifImageRGBToYUV() and avifImageYUVToRGB() handle avifImage bit depths 8, 10,
> 12 and now also 16. Files read by apps/shared/ can output 16-bit avifImage
> instances.
> * avifImageCreate(), avifImageCreateEmpty(), avifEncoderCreate() and other
> internal functions now return NULL if a memory allocation failed.
> * avifEncoderSetCodecSpecificOption() now returns avifResult instead of void to
> report memory allocation failures.
> * At decoding, avifIOStats now returns the same values as at encoding.
> * avifRGBImageAllocatePixels(), avifRWDataRealloc(), avifRWDataSet(),
> avifImageSetProfileICC(), avifImageSetMetadataExif() and
> avifImageSetMetadataXMP() now return avifResult instead of void to report
> memory allocation failures.
> * avifReadImage(), avifJPEGRead() and avifPNGRead() now remove the trailing zero
> byte from read XMP chunks, if any. See avifImageFixXMP().
> * Force keyframe for alpha if color is a keyframe.
> * Write primaries and transfer characteritics info in decoded PNG.
> * Add support for reading PNG gAMA, cHRM and sRGB chunks.
> * The 'mode' member of the avifImageMirror struct was renamed 'axis'.
> * Change the type of the 'depth' parameter from int to uint32_t in
> avifFullToLimitedY(), avifFullToLimitedUV(), avifLimitedToFullY(), and
> avifLimitedToFullUV().
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/libavif/Makefile,v
> retrieving revision 1.21
> diff -u -p -u -p -r1.21 Makefile
> --- Makefile 4 Oct 2023 15:15:40 -0000 1.21
> +++ Makefile 22 Feb 2024 08:20:22 -0000
> @@ -2,11 +2,10 @@ COMMENT= library for encoding and decodi
>
> GH_ACCOUNT= AOMediaCodec
> GH_PROJECT= libavif
> -GH_TAGNAME= v0.11.1
> -REVISION= 0
> +GH_TAGNAME= v1.0.4
> CATEGORIES= graphics
>
> -SHARED_LIBS= avif 6.0
> +SHARED_LIBS= avif 7.0
>
> HOMEPAGE= https://github.com/AOMediaCodec/libavif
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/graphics/libavif/distinfo,v
> retrieving revision 1.15
> diff -u -p -u -p -r1.15 distinfo
> --- distinfo 25 Nov 2022 21:14:09 -0000 1.15
> +++ distinfo 22 Feb 2024 08:20:22 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (libavif-0.11.1.tar.gz) = DrSZZVYqDl5d5YOJZQ1DTP8yr4TDQYW2ybey/MrgbU4=
> -SIZE (libavif-0.11.1.tar.gz) = 5826813
> +SHA256 (libavif-1.0.4.tar.gz) = 3FZwjIOkuTSoryt49n+Ga6L7VoYFx8+UMSrPUe5X0UY=
> +SIZE (libavif-1.0.4.tar.gz) = 10575992
> Index: patches/patch-tests_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-tests_CMakeLists_txt
> diff -N patches/patch-tests_CMakeLists_txt
> --- patches/patch-tests_CMakeLists_txt 25 Nov 2022 21:14:09 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,28 +0,0 @@
> -Build aviftest_helpers for are_images_equal.cc
> -e279707a001c8f95f8a2bc51c0d19bf35bfc79ab
> -
> -Index: tests/CMakeLists.txt
> ---- tests/CMakeLists.txt.orig
> -+++ tests/CMakeLists.txt
> -@@ -39,15 +39,17 @@ foreach(AVIFYUV_MODE limited rgb) # Modes drift and pr
> - add_test(NAME avifyuv_${AVIFYUV_MODE} COMMAND avifyuv -m ${AVIFYUV_MODE})
> - endforeach()
> -
> --################################################################################
> --# GoogleTest
> --
> --if(AVIF_ENABLE_GTEST)
> -+if(AVIF_ENABLE_GTEST OR AVIF_BUILD_APPS)
> - enable_language(CXX)
> - set(CMAKE_CXX_STANDARD 11)
> - add_library(aviftest_helpers OBJECT gtest/aviftest_helpers.cc)
> - target_link_libraries(aviftest_helpers avif_apps)
> -+endif()
> -
> -+################################################################################
> -+# GoogleTest
> -+
> -+if(AVIF_ENABLE_GTEST)
> - if(AVIF_LOCAL_GTEST)
> - set(GTEST_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/ext/googletest/googletest/include)
> - set(GTEST_LIBRARIES
UPDATE: libavif 1.0.4