commit 36021419be44cc665eb712d30a1cb2f4c005a30e8af6df340b8e8f7c4a97ea2f Author: Takashi Iwai Date: Fri Sep 13 09:10:49 2024 +0000 - Enable building with aom and libyuv for Leap OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libavif?expand=0&rev=62 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..8f7fafe --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libavif16 diff --git a/libavif-1.0.4.tar.gz b/libavif-1.0.4.tar.gz new file mode 100644 index 0000000..4579bc5 --- /dev/null +++ b/libavif-1.0.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146 +size 10575992 diff --git a/libavif-1.1.1.tar.gz b/libavif-1.1.1.tar.gz new file mode 100644 index 0000000..424c78c --- /dev/null +++ b/libavif-1.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914662e16245e062ed73f90112fbb4548241300843a7772d8d441bb6859de45b +size 13644189 diff --git a/libavif.changes b/libavif.changes new file mode 100644 index 0000000..45406bb --- /dev/null +++ b/libavif.changes @@ -0,0 +1,481 @@ +------------------------------------------------------------------- +Tue Sep 10 10:31:03 UTC 2024 - Carsten Ziepke + +- Enable building with aom and libyuv for Leap + +------------------------------------------------------------------- +Sat Aug 31 15:13:53 UTC 2024 - Dirk Müller + +- update to 1.1.1: + * In avif.h, change "AVIF_API AVIF_NODISCARD" back to + "AVIF_NODISCARD AVIF_API" to fix clang-cl and MSVC compilation + errors in the shared library build on Windows. + * Fix -DAVIF_GTEST=SYSTEM + * Fix infe_type and codec_config_type wrongly read as byte- + aligned fields in the + * experimental feature AVIF_ENABLE_EXPERIMENTAL_METAV1. + * When building aom as a local dependency, runtime CPU + detection (`CONFIG_RUNTIME_CPU_DETECT`) is now always `ON`; + * Fix CMake config shared library leaks + * Update gain map metadata to current ISO 21496-1 draft. + * cmake: Only search for ASM_NASM language on x86_64 platforms. + * Fix "No known features for CXX compiler" CMake error. + * Fix aom link flags so that transitive library link flags are + included when aom is a static library + * Fix out-of-order 'dimg' grid associations + * Report files with an item used in multiple 'dimg' boxes with + * AVIF_RESULT_NOT_IMPLEMENTED instead of + AVIF_RESULT_INVALID_IMAGE_GRID. + * 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. + * 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 + * 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. + +------------------------------------------------------------------- +Sun Mar 17 09:23:56 UTC 2024 - Dirk Müller + +- update to 1.0.4: + * 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 + * Fix identical chunk skipping optimization when writing + animation data + * 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). + +------------------------------------------------------------------- +Thu Dec 21 09:27:03 UTC 2023 - Andreas Stieger + +- update to 1.0.3: + * Rewrite the fix for memory errors fixed in 1.0.2 + * CVE-2023-6704: Fix use-after-free errors (boo#1218303) + * src/reformat.c: Allocate the threadData array directly + +------------------------------------------------------------------- +Tue Nov 28 20:40:32 UTC 2023 - Andreas Stieger + +- update to 1.0.2: + * Update avifCropRectConvertCleanApertureBox() to the revised + requirements in ISO/IEC 23000-22:2019/Amd. 2:2021 Section + 7.3.6.7. + * CVE-2023-6350: Out of bounds memory to alphaItemIndices (boo#1217614) + * CVE-2023-6351: use-after-free in colorProperties (boo#1217615) +- drop fix-gdkpixbuf.patch + +------------------------------------------------------------------- +Tue Aug 29 05:18:59 UTC 2023 - Paolo Stivanin + +- Update to 1.0.0: + * Incompatible changes: + + 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 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 API for multi-threaded YUV to RGB color conversion. + + 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: + + 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. + + Change the encoder to write the boxes within the "stbl" box in the order of + stsd, stts, stsc, stsz, stco, stss. + + 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. +- Add fix-gdkpixbuf.patch. + +------------------------------------------------------------------- +Sun May 7 14:52:35 UTC 2023 - Arjen de Korte + +- Add BuildRequires pkgconfig(libwebp) to enable libsharpyuv + +------------------------------------------------------------------- +Mon Nov 14 11:41:20 UTC 2022 - ecsos + +- Update to version 0.11.1: + * Changed: + - avifincrtest_helpers: Cast 64-bit offset to size_t + - avifmetadatatest: don't include avif/internal.h + - avifrgbtoyuvtest: skip if no libsharpyuv + - Disable tests that may fail if the codec is not aom (#1176) + +------------------------------------------------------------------- +Thu Oct 27 19:02:16 UTC 2022 - Cristian Rodríguez + +- Remove unused BuildRequires on nasm +- Remove indirect/incorrect Buildrequires on zlib +- add direct glib Buildrequires + +------------------------------------------------------------------- +Sat Oct 15 12:28:59 UTC 2022 - Bjørn Lie + +- Update to version 0.11.0: + * There are incompatible ABI changes in this release. The + alphaRange member was removed from the avifImage struct. The + chromaDownsampling and avoidLibYUV members were added to the + avifRGBImage struct. The imageDimensionLimit member was added + to the avifDecoder struct. avifImageCopy() and + avifImageAllocatePlanes() signatures changed. It is necessary + to recompile your code. Also check the return values of + avifImageCopy() and avifImageAllocatePlanes(). + * Added: + - Add man pages for avifenc and avifdec + - Add the avifChannelIndex type alias for enum avifChannelIndex + - Add avifChromaDownsampling enum + - Add chromaDownsampling field to avifRGBImage struct + - Add support for AVIF_RGB_FORMAT_RGB_565 + - Add imageDimensionLimit field to avifDecoder struct + - Add autoTiling field to avifEncoder struct + - Add new avifResult codes AVIF_RESULT_CANNOT_CHANGE_SETTING + and AVIF_RESULT_INCOMPATIBLE_IMAGE + - Add new enum constants AVIF_PIXEL_FORMAT_COUNT and + AVIF_RGB_FORMAT_COUNT + - avifdec: Add --dimension-limit, which specifies the image + dimension limit (width or height) that should be tolerated + - avifenc: Add --sharpyuv, which enables "sharp" RGB to YUV420 + conversion, which reduces artifacts caused by 420 chroma + downsampling. Needs libsharpyuv (part of the libwebp + repository) at compile time. + - avifenc: Add --ignore-exif and --ignore-xmp flags. + - avifenc: Add --autotiling, which sets --tilerowslog2 and + --tilecolslog2 automatically. + - avifenc: Input Exif orientation is converted to irot/imir by + default. + * Changed: + - Fix memory leaks of metadata on avifenc exit + - Update the handling of 'lsel' and progressive decoding to + AVIF spec v1.1.0 + - Treat an absent lsel and layer_id == 0xFFFF equivalently for + backward compatibility with earlier drafts of AVIF spec + v1.1.0 + - Set libavif's own default value of cfg.rc_end_usage for + libaom + - Set the libaom-specific option -a tune=ssim by default + - Bump cmake_minimum_required from 3.5 to 3.13 + - Fix https://crbug.com/oss-fuzz/48135 + - Use several new libyuv functions in reformat_libyuv.c + - Fix SVT-AV1's issue 1957 related to uninitialized variables + crashing the encoder + - Update aom.cmd: v3.5.0 + - Update rav1e.cmd: v0.5.1 + - Update svt.cmd/svt.sh: v1.2.1 + - Update libgav1.cmd: v0.18.0 + - Update libyuv.cmd: f9fda6e7 (version 1844) + - avifImageCopy() and avifImageAllocatePlanes() now return + avifResult instead of void to report invalid parameters or + memory allocation failures. + - avifImageRGBToYUV() now uses libyuv fast paths by default. It + may slightly change conversion results. The old behavior can + be restored by setting avifRGBImage::chromaDownsampling to + AVIF_CHROMA_DOWNSAMPLING_BEST_QUALITY and + avifRGBImage::avoidLibYUV to AVIF_TRUE. + - avifRGBImage::chromaUpsampling now only applies to + conversions that need upsampling chroma from 4:2:0 or 4:2:2 + and has no impact on the use of libyuv. + - Set avifRGBImage::avoidLibYUV accordingly to control the use + of libyuv. + - avifenc: Set the YUV format to 4:0:0 for grayscale PNGs + - Support updating encoder settings and codec-specific options + during encoding + - Disable AVIF_STRICT_CLAP_VALID and AVIF_STRICT_PIXI_REQUIRED + in the JNI wrapper + - avifdec: Return proper exit code in "info" mode + - In avifenc and avifdec, treat all arguments that start with + '-' as options + - Exif and XMP metadata is imported from PNG and JPEG files. + - avifImageSetMetadataExif() parses the Exif metadata and + converts any Exif orientation found into transformFlags, irot + and imir values. + - Write 'auxi' box for animated images with alpha channel + - Write 'auxv' as handler_type for alpha channel track + - Use PNG_COLOR_TYPE_GRAY for 8-bit grayscale output + - Replace repeated subtraction by modulo in calcGCD + - Change avifImageCreate to take uint32_t instead of int + parameters + - When writing an image sequence, check if it's safe to cast + width and height to uint16_t + - Allow clamped grid cells in avifEncoderAddImageGrid() + * Removed: + - alphaRange field was removed from the avifImage struct. It it + presumed that alpha plane is always full range. + - The avifCodecConfigurationBox struct becomes a private type + for libavif internal use +- Bump lib_soversion global (also in baselibs.conf) to 15 following + upstream change. +- Use ldconfig_scriptlets for post(un) handling. + +------------------------------------------------------------------- +Sat Jul 30 13:32:08 UTC 2022 - Callum Farmer + +- Enable libyuv on TW + +------------------------------------------------------------------- +Sun Apr 24 20:01:35 UTC 2022 - Dirk Müller + +- update to 0.10.1: + * tests/docker/build.sh: Build SVT-AV1 using cmake and ninja directly + * Fix a Visual Studio 2017 compiler warning in src\reformat.c: warning C4204: + nonstandard extension used: non-constant aggregate initializer + * Fix the help message of avifdec: --index takes a value + +------------------------------------------------------------------- +Fri Apr 8 15:49:30 UTC 2022 - Andreas Schneider + +- Update to version 0.10.0 + * See https://github.com/AOMediaCodec/libavif/blob/v0.10.0/CHANGELOG.md + for a complete changelog or check the CHANGELOG.md in the doc directory. + +------------------------------------------------------------------- +Sat Dec 25 10:23:55 UTC 2021 - Andreas Schneider + +- Disable libaom and use rav1e by default + * As PHP 8.1 has AVIF support, use rav1e by default as it is more + secure being written in Rust. + +------------------------------------------------------------------- +Thu Oct 21 07:56:31 UTC 2021 - Andreas Schneider + +- Update to version 0.9.3 + * See https://github.com/AOMediaCodec/libavif/blob/v0.9.3/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Thu Jun 24 18:13:26 UTC 2021 - Andreas Schneider + +- Update to version 0.9.2 + * See https://github.com/AOMediaCodec/libavif/blob/v0.9.2/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Thu May 20 06:36:55 UTC 2021 - Andreas Schneider + +- Update to version 0.9.1 + * See https://github.com/AOMediaCodec/libavif/blob/v0.9.1/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Tue Apr 13 06:20:37 UTC 2021 - Dominique Leuenberger + +- Add baselibs.conf: produce libavif10-32bit as a new dependency to + libgd3-32bit (support avif in libgd). + +------------------------------------------------------------------- +Mon Mar 15 10:40:45 UTC 2021 - Andreas Schneider + +- Update to version 0.9.0 + * See https://github.com/AOMediaCodec/libavif/blob/v0.9.0/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Wed Jan 13 13:30:40 UTC 2021 - Bjørn Lie + +- Build the gdk-pixbuf module: Add pkgconfig(gdk-pixbuf-2.0) + BuildRequires and pass DAVIF_BUILD_GDK_PIXBUF=ON to cmake. + Package the resulting loader in a new sub package. +- Use cmake_build macro. + +------------------------------------------------------------------- +Wed Dec 9 15:59:14 UTC 2020 - Andreas Schneider + +- Update to version 0.8.4 + * See https://github.com/AOMediaCodec/libavif/blob/v0.8.4/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Thu Oct 15 08:17:41 UTC 2020 - Andreas Schneider + +- Update to version 0.8.2 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Mon Aug 17 13:35:27 UTC 2020 - Andreas Schneider + +- Update to version 0.8.1 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. +- Enabled AOM support (default) + +------------------------------------------------------------------- +Tue Jul 21 06:05:19 UTC 2020 - Andreas Schneider + +- Update to version 0.8.0 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. + +------------------------------------------------------------------- +Tue May 5 12:58:13 UTC 2020 - Andreas Schneider + +- Update to version 0.7.3 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. + * Removed e4e5d752ece581d6ef9fbb8bab0ab2edfde13fc5.patch + * Removed ebb29b37711c749681278f8b778f0e6c031c4ca2.patch + * Removed e7dcc74b5529da209266020852a72b554461e538.patch + +------------------------------------------------------------------- +Mon May 4 15:15:50 UTC 2020 - Andreas Schneider + +- Update to version 0.7.2 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. + * Added e4e5d752ece581d6ef9fbb8bab0ab2edfde13fc5.patch + * Added ebb29b37711c749681278f8b778f0e6c031c4ca2.patch + * Added e7dcc74b5529da209266020852a72b554461e538.patch + +------------------------------------------------------------------- +Thu Apr 23 10:39:15 UTC 2020 - Ismail Dönmez + +- Update to version 0.7.1 + * See https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + for a complete changelog. +- Add BR on libjpeg8-devel + +------------------------------------------------------------------- +Wed Mar 11 06:51:01 UTC 2020 - Andreas Schneider + +- Update to version 0.6.2 + https://github.com/AOMediaCodec/libavif/blob/master/CHANGELOG.md + +------------------------------------------------------------------- +Wed Mar 11 06:10:27 UTC 2020 - Andreas Schneider + +- If we want to build with aom, require version >= 1.1.0 +- Removed cbcf62c2200be83b85b48059c819ae708216ccec.patch + +------------------------------------------------------------------- +Wed Mar 4 15:09:24 UTC 2020 - Andreas Schneider + +- Update to version 0.5.7 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.7 + +------------------------------------------------------------------- +Sun Feb 16 19:03:03 UTC 2020 - Andreas Schneider + +- Update to version 0.5.5 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.5 +- Rename libavif-tools to avif-tools + This fixes an rpmlint warning + +------------------------------------------------------------------- +Wed Dec 11 18:10:04 UTC 2019 - Andreas Schneider + +- Update to version 0.5.3 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.3 + +------------------------------------------------------------------- +Sun Nov 24 16:33:34 UTC 2019 - Marcus Rueckert + +- update to 0.5.2 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.2 + +------------------------------------------------------------------- +Fri Nov 22 07:10:11 UTC 2019 - Marcus Rueckert + +- update to 0.5.1 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.1 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.5.0 + +------------------------------------------------------------------- +Wed Nov 20 14:00:20 UTC 2019 - Marcus Rueckert + +- support building with libaom 1.0.0 + https://github.com/cryptomilk/libavif/commit/cbcf62c2200be83b85b48059c819ae708216ccec.patch + +------------------------------------------------------------------- +Wed Nov 20 13:51:36 UTC 2019 - Marcus Rueckert + +- update to 0.4.8 + https://github.com/AOMediaCodec/libavif/releases/tag/v0.4.8 +- drop libs.patch + +------------------------------------------------------------------- +Mon Nov 18 23:42:37 UTC 2019 - Marcus Rueckert + +- initial package diff --git a/libavif.spec b/libavif.spec new file mode 100644 index 0000000..3393f9d --- /dev/null +++ b/libavif.spec @@ -0,0 +1,145 @@ +# +# spec file for package libavif +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# Also update baselibs.conf if you bump the version +%global lib_soversion 16 +%global lib_name libavif%{lib_soversion} +Name: libavif +Version: 1.1.1 +Release: 0 +Summary: Library for encoding and decoding .avif files +License: BSD-2-Clause +Group: Development/Libraries/C and C++ +URL: https://github.com/AOMediaCodec/libavif +Source: https://github.com/AOMediaCodec/libavif/archive/v%{version}/%{name}-%{version}.tar.gz +Source99: baselibs.conf +BuildRequires: c++_compiler +BuildRequires: cmake +BuildRequires: libjpeg8-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(aom) >= 2.0.0 +BuildRequires: pkgconfig(dav1d) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(libpng) >= 1.6.32 +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libyuv) +BuildRequires: pkgconfig(rav1e) >= 0.5.0 + +%description +This library aims to be a friendly, portable C implementation of the AV1 Image +File Format, as described here: + +https://aomediacodec.github.io/av1-avif/ + +%package -n avif-tools +Summary: Tools for libavif +Group: Productivity/Graphics/Convertors +Provides: libavif-tools = %{version} +Obsoletes: libavif-tools < %{version} + +%description -n avif-tools +This library aims to be a friendly, portable C implementation of the AV1 Image +File Format, as described here: + +https://aomediacodec.github.io/av1-avif/ + +This package holds the commandline tools for libavif. + +%package -n %{lib_name} +# +Summary: Shared library from libavif +Group: Development/Libraries/C and C++ + +%description -n %{lib_name} +This library aims to be a friendly, portable C implementation of the AV1 Image +File Format, as described here: + +https://aomediacodec.github.io/av1-avif/ + +This package holds the shared library for libavif. + +%package -n gdk-pixbuf-loader-libavif +Summary: AVIF image loader for GTK+ applications +Group: Development/Libraries/C and C++ + +%description -n gdk-pixbuf-loader-libavif +A pixbuf-loader plugin to load AVIF images in GTK+ applications. + +%package devel +# +Summary: Development files for libavif +Group: Development/Libraries/C and C++ +Requires: %{lib_name} = %{version}-%{release} + +%description devel +This library aims to be a friendly, portable C implementation of the AV1 Image +File Format, as described here: + +https://aomediacodec.github.io/av1-avif/ + +This package holds the development files for libavif. + +%prep +%autosetup -p1 + +%build +%cmake \ + -DAVIF_CODEC_AOM=SYSTEM \ + -DAVIF_CODEC_DAV1D=SYSTEM \ + -DAVIF_CODEC_RAV1E=SYSTEM \ + -DAVIF_GTEST=SYSTEM \ + -DAVIF_JPEG=SYSTEM \ + -DAVIF_LIBXML2=SYSTEM \ + -DAVIF_LIBYUV=SYSTEM \ + -DAVIF_ZLIBPNG=SYSTEM \ + -DAVIF_BUILD_APPS:BOOL=ON \ + -DAVIF_BUILD_EXAMPLES:BOOL=ON \ + -DAVIF_BUILD_GDK_PIXBUF=ON +%cmake_build + +%install +%cmake_install + +%ldconfig_scriptlets -n %{lib_name} + +%files -n %{lib_name} +%license LICENSE +%{_libdir}/libavif.so.%{lib_soversion}* + +%files devel +%license LICENSE +%{_libdir}/libavif.so +%{_includedir}/avif/ +%{_libdir}/cmake/libavif/ +%{_libdir}/pkgconfig/libavif.pc + +%files -n avif-tools +%doc *.md +%license LICENSE +%{_bindir}/avifdec +%{_bindir}/avifenc + +%files -n gdk-pixbuf-loader-libavif +%license LICENSE +%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-avif.so +%dir %{_datadir}/thumbnailers +%{_datadir}/thumbnailers/avif.thumbnailer + +%changelog