# Audivane browser codec notices and source materials

Generated by `tools/collect-browser-materials.mjs`. Copyright in each component
remains with its authors. Audivane's own code is MIT; every component below
retains its own license. This is release engineering evidence, not a claim that
the demo is audible or ready for publication.

## Distributed browser core

The page serves `@ffmpeg/core` 0.12.10, which declares
`GPL-2.0-or-later`. The package tarball is included at
`distributed/npm/core-0.12.10.tgz` (SHA-256
`d00089ce82e1bdf637ddbe42e0c3d41a1ba8cf4c9e825e7fa4d0bb970e844bd4`) and its extracted files are under
`distributed/npm/core-0.12.10/`. The npm package contains no license
file; the complete FFmpeg GPL/LGPL texts are extracted below from the pinned
FFmpeg source.

| Component | Version | License | Exact source (SHA-256) | Complete license text |
| --- | --- | --- | --- | --- |
| ffmpeg.wasm browser build (Dockerfile, bindings and build scripts) | 0.12.10 (tag v12.15) | MIT for ffmpeg.wasm glue; the built FFmpeg core is GPL-2.0-or-later | `sources/ffmpeg.wasm-71aa99d.tar.gz`<br>SHA-256 `53c5842f160cece0e39345876f9483b56aa84b966637ff6f624353a0fa884219` | `licenses/ffmpeg-wasm/LICENSE` |
| FFmpeg | 5.1.4 | GPL-2.0-or-later for this build (configured with --enable-gpl) | `sources/ffmpeg-5.1.4.tar.gz`<br>SHA-256 `0d7ad57d4dd851d577fc6c19e5cec5b6e5faaeb2dbd52ab76127e3c3763fec6d` | `licenses/ffmpeg/COPYING.GPLv2`<br>`licenses/ffmpeg/COPYING.GPLv3`<br>`licenses/ffmpeg/COPYING.LGPLv2.1`<br>`licenses/ffmpeg/COPYING.LGPLv3`<br>`licenses/ffmpeg/LICENSE.md` |
| ffmpegwasm/x264 | branch 4-cores at 33cac6b (x264 core) | GPL-2.0-or-later | `sources/x264-33cac6b.tar.gz`<br>SHA-256 `75434a5a1f2d7d4314821c6054dd300731d69e2fa73314ba4a5ec9df38d4ec80` | `licenses/x264/COPYING` |
| ffmpegwasm/x265 | 3.4 | GPL-2.0-or-later | `sources/x265-3.4.tar.gz`<br>SHA-256 `e5254828f5db7bc375d385e31247861d25facee87b43fa2d08ea3ab5569672ab` | `licenses/x265/COPYING` |
| ffmpegwasm/libvpx | 1.13.1 | BSD-3-Clause | `sources/libvpx-1.13.1.tar.gz`<br>SHA-256 `12181ed27342415e8b01bf09abfbf1dfa27a6a32f302fb78b48bd70efe50f702` | `licenses/libvpx/LICENSE` |
| ffmpegwasm/lame | 3.100 | LGPL-2.0-or-later | `sources/lame-3.100.tar.gz`<br>SHA-256 `0d97ba0776988f5730e0ce1fa936e7c5d6836c757993ba55073513fe89cf410a` | `licenses/lame/COPYING`<br>`licenses/lame/LICENSE` |
| ffmpegwasm/Ogg | 1.3.4 | BSD-3-Clause | `sources/ogg-1.3.4.tar.gz`<br>SHA-256 `4d61f8dfa248276c42bd5404b1a87ae9d8a0d58791f55e20018c7b39b38d8823` | `licenses/libogg/COPYING` |
| ffmpegwasm/theora | 1.1.1 | BSD-3-Clause | `sources/theora-1.1.1.tar.gz`<br>SHA-256 `c38e6a3fb19566a44dcb283323c48311dd484f1416f3f34676d3e7fd252dfbc5` | `licenses/theora/COPYING`<br>`licenses/theora/LICENSE` |
| ffmpegwasm/opus | 1.3.1 | BSD-3-Clause | `sources/opus-1.3.1.tar.gz`<br>SHA-256 `c6d574b17d70b8c289d997a8ac81314cf1fd8c52237c421b2ee34e69cea85bf8` | `licenses/opus/COPYING`<br>`licenses/opus/LICENSE_PLEASE_READ.txt` |
| ffmpegwasm/vorbis | 1.3.3 | BSD-3-Clause | `sources/vorbis-1.3.3.tar.gz`<br>SHA-256 `69b87cafe2815d02609886a63b9d4c0b7461e1e2f6ecf3960ede04053da6e96a` | `licenses/vorbis/COPYING` |
| ffmpegwasm/zlib | 1.2.11 | Zlib | `sources/zlib-1.2.11.tar.gz`<br>SHA-256 `6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45` | `licenses/zlib/README`<br>`licenses/zlib/zlib.h` |
| ffmpegwasm/libwebp | 1.3.2 | BSD-3-Clause | `sources/libwebp-1.3.2.tar.gz`<br>SHA-256 `1676107dc385f9bf6cb4c2b94d4a9359d1fd95ab6309cb587191a742df292fe2` | `licenses/libwebp/COPYING` |
| ffmpegwasm/freetype2 | 2.10.4 | FreeType License / GPL-2.0-or-later | `sources/freetype-2.10.4.tar.gz`<br>SHA-256 `09acceb42508c65b7b744cc2ad01d7548868ca57babc39f7683ec3c0f7541e8c` | `licenses/freetype/LICENSE.TXT`<br>`licenses/freetype/FTL.TXT`<br>`licenses/freetype/GPLv2.TXT` |
| fribidi/fribidi | 1.0.9 | LGPL-2.1-or-later | `sources/fribidi-1.0.9.tar.gz`<br>SHA-256 `65ff6fb1a478c4d90ae16825da8c97b8a63e2674f8a2d6dae8800f89089640ba` | `licenses/fribidi/COPYING` |
| harfbuzz/harfbuzz | 5.2.0 | MIT | `sources/harfbuzz-5.2.0.tar.gz`<br>SHA-256 `69ba7c7a42643a3654781242016dd09245cab7353fc2a02cecb710e479c9a881` | `licenses/harfbuzz/COPYING` |
| libass/libass | 0.15.0 | ISC | `sources/libass-0.15.0.tar.gz`<br>SHA-256 `5cfe23562fa623a3b209d156ad469aeb2e31f69bf6b256ea737d87d9ed89301d` | `licenses/libass/COPYING` |
| sekrit-twc/zimg | release-3.0.5 | WTFPL | `sources/zimg-3.0.5.tar.gz`<br>SHA-256 `3ab062eff30067799997bc3e911c0108a5b8cbcd6e0ef14053f17ff0ecd0add8` | `licenses/zimg/COPYING` |
| SDL | 2.24.2 (Emscripten 3.1.40 sdl2 port) | Zlib | `sources/SDL-2.24.2.tar.gz`<br>SHA-256 `a726e31f8ad9443a2a9a649f12751442d8ca5ea78a84fde14f760c81706b4127` | `licenses/SDL/LICENSE.txt` |
| Google liblc3 | 1.1.3 | Apache-2.0 | `sources/liblc3-1.1.3.tar.gz`<br>SHA-256 `276752ff54ce6a77d54ec133397b9d7e71f90caf3d9afa32d8b0e891b8ecb8af` | `licenses/liblc3/LICENSE` |
| AOSP libldac (LDAC encoder) | commit eeee1a3f | Apache-2.0 (retain LICENSE and NOTICE) | `sources/libldac-eeee1a3f.tar.gz`<br>content SHA-256 `ebba69bc820b93c2ea4c49feaee9e82ffabdb604f89f6c332c2fe922ff3b4d95` (Gitiles regenerates archive bytes) | `licenses/libldac/LICENSE`<br>`licenses/libldac/NOTICE` |
| hegdi/libldacdec (LDAC decoder) | commit 7f3bd6cc | MIT, copyright 2021 Dirk Helbig | `sources/libldacdec-7f3bd6cc.tar.gz`<br>SHA-256 `c6a1cde751cb18f69ccf7d8817f24972560be4e62b3fdbe75159c1207bc5a046` | `licenses/libldacdec/LICENSE` |

## Build toolchains

| Toolchain | Version | Archive | Commit |
| --- | --- | --- | --- |
| Emscripten | 3.1.40 (core build) | `toolchain/emscripten-3.1.40.tar.gz` | 5c27e79dd0a9c4e27ef2326841698cdd4f6b5784 |
| emsdk | 3.1.40 (core build) | `toolchain/emsdk-3.1.40.tar.gz` | ae245715ef50e036b68a2412a323129676bf8300 |
| Emscripten | 6.0.13 (supplemental LC3/LDAC build) | `toolchain/emscripten-6.0.13.tar.gz` | e13ee988ce3d87a738dd8f3661d02223308c412a |
| emsdk | 6.0.13 (supplemental LC3/LDAC build) | `toolchain/emsdk-6.0.13.tar.gz` | 35659964bc2762fffec0d257997fb61475f765b7 |

## Supplemental LC3 and LDAC modules

The supplemental modules are built by `tools/build_codec_wasm.sh` from the
pinned liblc3, AOSP libldac and hegdi/libldacdec sources above plus
`tools/lc3_wasm.c` and `tools/ldac_wasm.c`. Their exact distributed bytes are
under `distributed/supplemental/`. They reproduce byte-for-byte only under the
documented locale and build-directory conditions in
`provenance/supplemental-reproduction.json`; the current script does not pin
those conditions.

## Project and wrapper notices

- Audivane application code: MIT, copyright 2026 Triet (@Triet1402).
- `@ffmpeg/ffmpeg` 0.12.15 wrapper: MIT. Its license and provenance are copied
  under `build/third_party/licenses/ffmpeg-wasm-wrapper/`.
- `@ffmpeg/core` declares GPL-2.0-or-later. The GPLv2 and GPLv3 texts are
  included from the exact FFmpeg 5.1.4 source.

## Source completeness

Every source archive named by the ffmpeg.wasm Dockerfile and the supplemental build script is present and hash-verified. No required source archive is missing.

- Required source archives: 21
- Missing: none

## Evidence bounds (not publication gates)

These record where the available evidence stops. They are not claims that a
source is missing and they are not additional approval requirements.

- **core-source-inference** (inference): The npm package has no upstream gitHead/attestation, so the exact source ref is inferred. The complete source archival set for that inferred ref is present and verified.
- **core-byte-reproduction** (verification-bound): The distributed core bytes were verified against npm, but no byte-for-byte rebuild was performed in this environment; bit-identical reproduction is not a publication prerequisite.
- **supplemental-build-hermeticity** (reproducibility-note): The supplemental bytes reproduce exactly, but only with LC_ALL=C and the original absolute build directory; tools/build_codec_wasm.sh does not pin either condition.
- **toolchain-scope** (scope-note): Emscripten/emsdk archives are included for reproducibility. LLVM, Binaryen and the Node runtime are recorded by version/identity but their full source trees are not part of the linked work.

Do not replace any dependency license with the project MIT license. Do not
describe this material set as proof of codec conformance.
