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 exact native inputs recorded here are from the x64-windows-static-md
vcpkg installation used to build the Windows wheel. The two Linux builds pin
dav1d and libde265 in `tools/build-manylinux.sh` and
`tools/build-musllinux.sh`; Cargo.lock selects the embedded libheif and OpenJPEG
sources. The macOS arm64 build uses
the same pinned dav1d and libde265 source versions, builds them as shared
libraries, bundles them, and disables unused libheif codec backends so
machine-local codecs are not linked:

  * libheif 1.23.1
  * libde265 1.1.1
  * dav1d 1.5.3
  * wpd 0.2.0, at the exact git revision named in `Cargo.toml`
  * OpenJPEG (vendored by openjpeg-sys 1.0.12)

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.3
  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.1
  License: GNU Lesser General Public License, version 3
  Linkage: statically linked
  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 97da18b74888aea251d2b71db2f116aff66b23e9)
  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

openjpeg (vendored by openjpeg-sys 1.0.12)
  License: BSD 2-Clause License
  Linkage: statically compiled into the plugin by the jpeg2k dependency
  Notice: LICENSES/openjpeg-COPYING.txt
  Upstream: https://github.com/uclouvain/openjpeg

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 every Linux build, which reaches them through the embedded
    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 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 macOS CMake toolchain also disables the 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 wheel containing this DLL, 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 vendored
libheif and OpenJPEG sources, and the build/relink instructions in BUILDING.md.
The Linux and macOS wheels and plugin ZIPs include dav1d and libde265 as
separate shared libraries with relative loader paths. Their license texts
remain under LICENSES/. The existing 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
  * OpenJPEG: https://github.com/uclouvain/openjpeg/blob/master/LICENSE
