From: Rafael Sadowski Subject: Re: UPDATE: libavif 1.1.0 To: Brad Smith Cc: ports@openbsd.org Date: Tue, 30 Jul 2024 22:12:58 +0200 FAILED: libyuv-populate-prefix/src/libyuv-populate-stamp/libyuv-populate-download /usr/ports/pobj/libavif-1.1.0/build-amd64/_deps/libyuv-subbuild/libyuv-populate-prefix/src/libyuv-populate-stamp/libyuv-populate-download cd /usr/ports/pobj/libavif-1.1.0/build-amd64/_deps && /usr/local/bin/cmake -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /usr/ports/pobj/libavif-1.1.0/build-amd64/_deps/libyuv-subbuild/libyuv-populate-prefix/tmp/libyuv-populate-gitclone.cmake && /usr/local/bin/cmake -E touch /usr/ports/pobj/libavif-1.1.0/build-amd64/_deps/libyuv-subbuild/libyuv-populate-prefix/src/libyuv-populate-stamp/libyuv-populate-download ninja: build stopped: subcommand failed. CMake Error at /usr/local/share/cmake/Modules/FetchContent.cmake:1918 (message): Build step for libyuv failed: 1 Call Stack (most recent call first): /usr/local/share/cmake/Modules/FetchContent.cmake:1609 (__FetchContent_populateSubbuild) /usr/local/share/cmake/Modules/FetchContent.cmake:2145:EVAL:2 (__FetchContent_doPopulation) /usr/local/share/cmake/Modules/FetchContent.cmake:2145 (cmake_language) /usr/local/share/cmake/Modules/FetchContent.cmake:1978:EVAL:1 (__FetchContent_Populate) /usr/local/share/cmake/Modules/FetchContent.cmake:1978 (cmake_language) cmake/Modules/AvifExternalProjectUtils.cmake:3 (FetchContent_Populate) cmake/Modules/LocalLibyuv.cmake:40 (avif_fetchcontent_populate_cmake) CMakeLists.txt:200 (include) CMakeLists.txt:221 (check_avif_option) On Fri Jul 19, 2024 at 08:21:59PM GMT, Brad Smith wrote: > Here is an update to libavif 1.1.0. > > > ## [1.1.0] - 2024-07-11 > > ### Added since 1.0.0 > * Add experimental API for reading and writing gain maps in AVIF files. > If enabled at compile time, add `gainMap` field to `avifImage`, > add `qualityGainMap` field to `avifEncoder`, add `gainMapPresent`, > `enableDecodingGainMap`, `enableParsingGainMapMetadata` and > `ignoreColorAndAlpha` to `avifDecoder`. > Utility functions for working with gain maps are also added. > Gain maps allow readers that support them to display HDR images that look > good on both HDR and SDR displays. > This feature is highly experimental. The API might change or be removed > in the future. Files created now might not decode in a future version. > This feature is off by default and must be enabled with the > AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP compilation flag. > * Add experimental support for converting jpeg files with gain maps to AVIF > files with gain maps. Requires libxml2, and the AVIF_ENABLE_EXPERIMENTAL_GAIN_MAP > compilation flag. > Add a --qgain-map flag to control the gain map quality in avifenc. > * Add the headerFormat member of new type avifHeaderFormat to avifEncoder. > * Add experimental API for reading and writing "mif3"-branded AVIF files > behind the compilation flag AVIF_ENABLE_EXPERIMENTAL_METAV1. > * Implement avifImageScale() fallback when libyuv is not available. > * Partial import of libyuv to third_party/libyuv (new LICENSE). > * Add avifenc flag suffixes ":update" and ":u". Quality-relative, > tiling-relative and codec-specific flags can now be positional, relative to > input files. > * Add experimental support for layered AVIF encoding in avifenc. > Use the --layered flag to enable layered AVIF encoding. > Layered AVIF has multiple layers, which works like frame of animated AVIF, > and layers can be rendered in progressive manner on supported viewers > (e.g. Chrome 94 or newer). > Only aom supports layered AVIF encoding at the time of writing. > Add --scaling-mode flag to set scaling mode of each layer. > This part of AV1 encoder is not as thoroughly tested, so there are higher > possibility encoder may crash when given certain configuration or input. > * Add imageSequenceTrackPresent flag to the avifDecoder struct. > * avifImageScale() function was made part of the public ABI. > * Add avif_cxx.h as a C++ header with basic functionality. > * Add enum aliases AVIF_COLOR_PRIMARIES_SRGB, AVIF_COLOR_PRIMARIES_BT2100, > AVIF_COLOR_PRIMARIES_DCI_P3, AVIF_TRANSFER_CHARACTERISTICS_PQ. > * Add avifResult enum entry AVIF_RESULT_INTERNAL_ERROR. > * Require libyuv by default (but it can still be disabled with > -DAVIF_LIBYUV=OFF). > * Add avifdec --icc flag to override the output color profile. > * Add experimental API for reading and writing 16-bit AVIF files behind the > compilation flag AVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM. > * Add AVIF_CHROMA_SAMPLE_POSITION_RESERVED to avifChromaSamplePosition enum. > > ### Changed since 1.0.0 > * Update aom.cmd: v3.9.1 > * Update avm.cmd: research-v7.0.1 > * Update dav1d.cmd: 1.4.3 > * Update libgav1.cmd: v0.19.0 > * Update libjpeg.cmd: v3.0.3 > * Update libxml2.cmd: v2.12.7 > * Update libyuv.cmd: a6a2ec65 > * Update mp4box.sh: v2.4.0 > * Update rav1e.cmd: v0.7.1 > * Update svt.cmd/svt.sh: v2.1.1 > * Update zlibpng.cmd: zlib 1.3.1 and libpng 1.6.40 > * AVIF sequences encoded by libavif will now also have the "avio" brand when > there is at least one track made only of AV1 keyframes. > * Fix SVT-AV1 codec interface which was not setting video range at encoding. > * Any item ID being 0 in an "iref" box with version 0 or 1 is now treated as an > error instead of being ignored. > * API calls now return AVIF_RESULT_OUT_OF_MEMORY instead of aborting on memory > allocation failure. > * avifdec and avifenc: Change the default value of the --jobs option from 1 to > "all". > * Update avifCropRectConvertCleanApertureBox() to the revised requirements in > ISO/IEC 23000-22:2019/Amd. 2:2021 Section 7.3.6.7. > * AVIF files with an exif_tiff_header_offset pointing at another byte than the > first II or MM tag in the Exif metadata payload will now fail to be decoded. > Set decoder->ignoreExif to true to skip the issue and decode the image. > * Fix memory errors reported in crbug.com/1501766, crbug.com/1501770, and > crbug.com/1504792 by [Fudan University](https://secsys.fudan.edu.cn/). > * For codecs, AVIF_CODEC_* and AVIF_LOCAL_* are now merged into AVIF_CODEC_* > that can only take the values: OFF, LOCAL or SYSTEM. > * For the gtest, jpeg, libsharpyuv, libxml2, libyuv and zlibpng dependencies, > AVIF_LOCAL_* is now replaced by flags AVIF_* that can take the values: > OFF, LOCAL or SYSTEM. > * src/reformat.c: Allocate the threadData array directly. > * 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). > * ext/libjpeg.cmd now pulls libjpeg-turbo instead of libjpeg and AVIF_JPEG=LOCAL > now expects the library dependency in ext/libjpeg-turbo/build.libavif. > * Fix 'iloc' box parsing bugs that may have wrongly accepted, rejected or parsed > some files with rare values of offset_size, length_size, base_offset_size and > index_size. > * 'infe' boxes with an item_type different from 'mime' and without a > null-terminated item_name are now considered invalid as per ISO/IEC 14496-12. > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/graphics/libavif/Makefile,v > retrieving revision 1.22 > diff -u -p -u -p -r1.22 Makefile > --- Makefile 3 Apr 2024 12:13:14 -0000 1.22 > +++ Makefile 19 Jul 2024 22:35:41 -0000 > @@ -2,10 +2,10 @@ COMMENT= library for encoding and decodi > > GH_ACCOUNT= AOMediaCodec > GH_PROJECT= libavif > -GH_TAGNAME= v1.0.4 > +GH_TAGNAME= v1.1.0 > CATEGORIES= graphics > > -SHARED_LIBS= avif 7.0 > +SHARED_LIBS= avif 7.1 > > HOMEPAGE= https://github.com/AOMediaCodec/libavif > > @@ -14,12 +14,14 @@ MAINTAINER= Brad Smith # BSD > PERMIT_PACKAGE= Yes > > -WANTLIB= aom c dav1d jpeg m png pthread sharpyuv z > +WANTLIB= ${COMPILER_LIBCXX} aom c dav1d jpeg m png pthread sharpyuv z > > COMPILER= base-clang ports-gcc > > MODULES= devel/cmake > > +BUILD_DEPENDS+= sysutils/ggrep > + > LIB_DEPENDS= graphics/jpeg \ > graphics/png \ > graphics/libwebp \ > @@ -28,11 +30,15 @@ LIB_DEPENDS= graphics/jpeg \ > > CONFIGURE_ARGS+=-DAVIF_BUILD_APPS=ON \ > -DAVIF_BUILD_TESTS=ON \ > - -DAVIF_CODEC_AOM=ON \ > + -DAVIF_CODEC_AOM=SYSTEM \ > -DAVIF_CODEC_AOM_DECODE=OFF \ > - -DAVIF_CODEC_DAV1D=ON \ > + -DAVIF_CODEC_DAV1D=SYSTEM \ > -DAVIF_ENABLE_GTEST=OFF \ > - -DCMAKE_DISABLE_FIND_PACKAGE_libyuv=ON > + -DAVIF_LIBSHARPYUV=SYSTEM \ > + -DAVIF_LIBYUV=LOCAL > + > +post-extract: > + ln -sf ${LOCALBASE}/bin/ggrep ${WRKDIR}/bin/grep > > do-test: > ${WRKBUILD}/tests/aviftest ${WRKSRC}/tests/data > Index: distinfo > =================================================================== > RCS file: /cvs/ports/graphics/libavif/distinfo,v > retrieving revision 1.16 > diff -u -p -u -p -r1.16 distinfo > --- distinfo 3 Apr 2024 12:13:14 -0000 1.16 > +++ distinfo 19 Jul 2024 22:35:41 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (libavif-1.0.4.tar.gz) = 3FZwjIOkuTSoryt49n+Ga6L7VoYFx8+UMSrPUe5X0UY= > -SIZE (libavif-1.0.4.tar.gz) = 10575992 > +SHA256 (libavif-1.1.0.tar.gz) = 7bMZUQBdehQ74XJPJIJYCVmaSDIHOt1Q6vmHcz3vtcg= > +SIZE (libavif-1.1.0.tar.gz) = 13642536 > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/graphics/libavif/pkg/PLIST,v > retrieving revision 1.5 > diff -u -p -u -p -r1.5 PLIST > --- pkg/PLIST 11 Mar 2022 19:22:40 -0000 1.5 > +++ pkg/PLIST 19 Jul 2024 22:35:41 -0000 > @@ -2,6 +2,7 @@ > @bin bin/avifenc > include/avif/ > include/avif/avif.h > +include/avif/avif_cxx.h > lib/cmake/libavif/ > lib/cmake/libavif/libavif-config${MODCMAKE_BUILD_SUFFIX} > lib/cmake/libavif/libavif-config-version.cmake >