https://bugs.kde.org/show_bug.cgi?id=398582

--- Comment #129 from caulier.gil...@gmail.com ---
libavif notes about codecs are listed below :

No AV1 codecs are enabled by default. Enable them by enabling any of the
following CMake options (e.g. -DAVIF_CODEC_AOM=ON):

    AVIF_CODEC_AOM for libaom (encoder and decoder)
    AVIF_CODEC_DAV1D for dav1d (decoder)
    AVIF_CODEC_LIBGAV1 for libgav1 (decoder)
    AVIF_CODEC_RAV1E for rav1e (encoder)
    AVIF_CODEC_SVT for SVT-AV1 (encoder)

These libraries (in their C API form) must be externally available
(discoverable via CMake's FIND_LIBRARY) to use them, or if libavif is a child
CMake project, the appropriate CMake target must already exist by the time
libavif's CMake scripts are executed.

libavif come from VCPKG package. The port file is this one :

gilles@KU23:~/Devel/Devel/vcpkg/ports/libavif$ cat portfile.cmake 
vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO AOMediaCodec/libavif
    REF "v${VERSION}"
    SHA512
f7c35e40f9214314afeae69d5da6ab345e6dbd025e737a920ea4270452cdf7ff7010d7af5cc18d27e93b217114eb6b613cd349703d0e1bb7814dbeb84a9fd70f
    HEAD_REF master
    PATCHES
        disable-source-utf8.patch
        find-dependency.patch # from
https://github.com/AOMediaCodec/libavif/pull/1339
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
    FEATURES
        aom AVIF_CODEC_AOM
)

vcpkg_cmake_configure(
    SOURCE_PATH "${SOURCE_PATH}"
    OPTIONS
        -DAVIF_BUILD_APPS=OFF
        -DCMAKE_REQUIRE_FIND_PACKAGE_libyuv=ON
        ${FEATURE_OPTIONS}
)

vcpkg_cmake_install()

vcpkg_copy_pdbs()

# Move cmake configs
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})

# Fix pkg-config files
vcpkg_fixup_pkgconfig()

# Remove duplicate files
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
                    "${CURRENT_PACKAGES_DIR}/debug/share")

# Handle copyright
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")

...and the json conf :

gilles@KU23:~/Devel/Devel/vcpkg/ports/libavif$ cat vcpkg.json 
{
  "name": "libavif",
  "version-semver": "1.0.1",
  "description": "Library for encoding and decoding AVIF files",
  "homepage": "https://github.com/AOMediaCodec/libavif";,
  "license": "BSD-2-Clause AND Apache-2.0",
  "dependencies": [
    "libyuv",
    {
      "name": "vcpkg-cmake",
      "host": true
    },
    {
      "name": "vcpkg-cmake-config",
      "host": true
    }
  ],
  "features": {
    "aom": {
      "description": "AV1 codec library",
      "dependencies": [
        "aom"
      ]
    }
  }
}

Look well, no codec is enable, and AOM is the only one provided as option, not
enabled by default. This want mean that libavif decode nothing, as i don't
enable the aom codec while building.

NOTE: This VCPKG rules is stupid at all. Why to provide a library which can the
essential by default ?

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to