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

Reply via email to