vs-imageseqs third-party notices
================================

This distribution contains the vs-imageseqs VapourSynth plugin and native
code from the projects listed below. The files in LICENSES/ are part of the
distribution and preserve the applicable license texts and notices.

The Windows wheel uses the x64-windows-static-md vcpkg installation. The
Linux and macOS builds pin their native sources in the platform build scripts.
Each Unix wheel bundles shared libheif, libde265, and dav1d built from these
sources:

  * libheif 1.23.5
  * libde265 1.1.1
  * dav1d 1.5.4
  * wpd 0.2.0, at the exact git revision named in `Cargo.toml`

The native dependency versions and license expressions used by this build
are recorded below. `wpd` is a Rust crate rather than a system library, but
it is listed here because its x86-64 decode routines are hand-written NASM
sources that the crate assembles and links into the plugin, so it ships the
same way the C libraries above do. The remaining Rust crate licenses are
intentionally out of scope for this notice bundle.

Project
-------

vs-imageseqs is Copyright (c) noaione and is distributed under the Mozilla
Public License Version 2.0. See LICENSE.

Native components
-----------------

dav1d 1.5.4
  License: BSD 2-Clause "Simplified" License
  Linkage: static on Windows; shared on Unix, bundled in Linux and macOS release artifacts
  Usage: the plugin's direct AVIF decoder and libheif's AVIF sequence backend
  Notice: LICENSES/dav1d-COPYING.txt
  Upstream: https://code.videolan.org/videolan/dav1d

libheif 1.23.5
  License: GNU Lesser General Public License, version 3
  Linkage: static on Windows; shared on Unix, bundled in Linux and macOS release artifacts
  Notice and license text: LICENSES/libheif-COPYING.txt
  Upstream: https://github.com/strukturag/libheif

libde265 1.1.1
  License: GNU Lesser General Public License, version 3
  Linkage: static on Windows; shared on Unix, bundled in Linux and macOS release artifacts
  Notice and license text: LICENSES/libde265-COPYING.txt
  Upstream: https://github.com/strukturag/libde265

wpd 0.2.0 (git revision 2e1400f00089a68c7939eb9593d5b49b1144b8e0)
  License: BSD 2-Clause "Simplified" License
  Linkage: statically linked, assembled from the crate's own NASM sources on
    x86 and x86-64 and from its assembler sources on ARM
  Usage: the plugin's webp decoder, an ordinary still and an animated
    container's rectangle alike
  Notice and license text: LICENSES/wpd-COPYING.txt
  Upstream: https://github.com/halidecx/wpd


libstdc++ and libgcc_s, the GCC runtime libraries
  License: GNU General Public License, version 3, with the GCC Runtime Library
    Exception, version 3.1
  Linkage: linked by Linux libheif; the manylinux wheel leaves them to the
    system, whose policy allows them, and the musllinux wheel bundles them,
    because the musl policy allows only libc and libz
  Notice and license text: LICENSES/gcc-runtime-COPYING.txt
  Upstream: https://gcc.gnu.org/

The current vcpkg manifest disables libheif default features, so x265 is not
selected on Windows. Its repository-local libheif 1.23.5 overlay enables the
built-in dav1d decoder using the dav1d version already listed above. The
overlay's build recipes and patches derive from Microsoft's vcpkg baseline
40a9bd4ccdf5dc14ff76d4ed47d46a226ce84a83 and retain its MIT license in
LICENSES/vcpkg-LICENSE.txt. These recipes are source/build inputs, not another
native runtime dependency. The Unix CMake toolchains disable optional libheif
backends this plugin does not use, including x265. Always verify the final
native link output after changing either dependency configuration.

Ported source code
------------------

Some of the still readers this plugin decodes with its own code are ports of
the corresponding reader in the `image` crate, version 0.25.10, which is
licensed MIT OR Apache-2.0. `image` puts no per-file header on its sources, so
the license travels with the files named here rather than inside them. The
texts are kept verbatim as LICENSES/image-LICENSE-MIT.txt and
LICENSES/image-LICENSE-APACHE.txt.

The ported files, and the upstream module each was ported from under
image-0.25.10's src/codecs/:

  src/formats/bmp.rs
      bmp/decoder.rs, bmp/mod.rs -- the palette, run-length and bitfield
      paths, and the DIB header parsing that ico.rs also uses
  src/formats/ico.rs
      ico/decoder.rs -- the directory, the entry scoring and the AND mask
  src/formats/tga.rs
      tga/ -- the header and all eleven image types
  src/formats/dds.rs
      dds/ -- the DXT1, DXT3 and DXT5 block decoding and the DX10 mapping
  src/formats/pnm.rs
      pnm/decoder.rs and pnm/header.rs -- the parser and the header, and not
      pnm/autobreak.rs, which writes a pnm rather than reading one

Each of those modules says at its head what it was ported from. The other
still readers under src/formats/ are not ports: hdr.rs is written for this
plugin, and the rest call a crate or a library directly.

Static-linking release checklist
---------------------------------

The license files and notices above satisfy the accompanying-text part of
the distribution. They do not by themselves satisfy every source and
relinking requirement that can apply to a statically linked LGPL library.
Before publishing a Windows wheel containing this statically linked library,
the release should also:

  1. Make the Corresponding Source for the exact libheif and libde265
     binaries available, including the build configuration and any changes.
  2. Provide the Corresponding Application Code and a practical way for a
     recipient to relink the application/plugin with a modified LGPL library,
     as required by the chosen LGPLv3 distribution route.
  3. Preserve the copyright notices, license texts, warranty disclaimers,
     and source information for all components.
The current source distribution contains this plugin's source and build
metadata, but the ignored vcpkg_installed directory is not itself a
Corresponding Source archive. Arrange an exact-source archive or a valid
written offer/source URL for every published binary as part of release work.

Each Linux build's artifacts are accompanied by a relinking source archive:
`linux-relink-source.tar.gz` for the manylinux wheel and
`linux-musl-relink-source.tar.gz` for the musllinux one. Each contains the
application and dependency sources used by that build, including the checked
libheif 1.23.5 source archive, and the
build/relink instructions in BUILDING.md. The Linux and macOS wheels and plugin
ZIPs include libheif, dav1d, and libde265 as separate shared libraries with
relative loader paths. Their license texts remain under LICENSES/. The Windows
source/relinking requirements above remain applicable to the static Windows
binaries.

License URLs
------------

The authoritative license texts are also available from these upstream
sources. The copies in LICENSES/ are the texts shipped with the exact local
dependency installation used for this build.

  * GNU LGPLv3: https://www.gnu.org/licenses/lgpl-3.0.html
  * GNU GPLv3: https://www.gnu.org/licenses/gpl-3.0.html
  * GNU GPLv2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  * GNU GCC Runtime Library Exception: https://www.gnu.org/licenses/gcc-exception-3.1.html
  * dav1d: https://code.videolan.org/videolan/dav1d/-/blob/master/COPYING
  * libheif: https://github.com/strukturag/libheif/blob/master/COPYING
  * libde265: https://github.com/strukturag/libde265/blob/master/COPYING
  * wpd: https://github.com/halidecx/wpd/blob/main/LICENSE
