Skip to content

compat.libvpx 1.17.0 and compat.libwebm 1.0.0.32: VP9 and the WebM container (BSD-3-Clause) - #624

Merged
Sunrisepeak merged 1 commit into
mainfrom
compat-libvpx
Oct 29, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
compat-libvpx

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

compat.libvpx: the WebM project's VP9 codec, encoder and decoder, from the
v1.17.0 tag archive. The 101 C files upstream's own
configure --target=generic-gnu --disable-vp8 --enable-vp9 --enable-multithread
compiles (no examples, tools, docs, unit tests, webm-io or libyuv): portable C,
no SIMD, assembler or run-time CPU detection, so one configuration builds on
x86-64 and aarch64, Linux, macOS, Windows and wasm32-emscripten. The headers
that configuration generated (vpx_config.h and .c, vpx_version.h, the three
RTCD headers) are carried as generated_files in a private include directory,
unchanged but for the lines that describe the host operating system, now
decided by the preprocessor: pthread.h and unistd.h but on Windows,
pthread_setname_np where glibc or Apple has it, and no threads on Emscripten
without its pthreads. -ffp-contract=off. The member tests/examples/libvpx:
the version and build configuration, good-quality and real-time encodes
decoded back above a PSNR, lossless every pixel back, one thread the same
bytes twice, four threads with tile columns decoded on two.

compat.libwebm: the WebM (Matroska) container, mkvmuxer and mkvparser, from
the libwebm-1.0.0.32 tag archive: upstream CMakeLists.txt's webm target.
The member tests/examples/libwebm: a VP9 and an Opus track written to memory
and to disk (the same bytes), read back with mkvparser from memory and with
MkvReader, every frame's bytes and time; given track UIDs the same bytes twice.

…ntainer (BSD-3-Clause)

compat.libvpx: the WebM project's VP9 codec, encoder and decoder, from the
v1.17.0 tag archive. The 101 C files upstream's own
`configure --target=generic-gnu --disable-vp8 --enable-vp9 --enable-multithread`
compiles (no examples, tools, docs, unit tests, webm-io or libyuv): portable C,
no SIMD, assembler or run-time CPU detection, so one configuration builds on
x86-64 and aarch64, Linux, macOS, Windows and wasm32-emscripten. The headers
that configuration generated (vpx_config.h and .c, vpx_version.h, the three
RTCD headers) are carried as generated_files in a private include directory,
unchanged but for the lines that describe the host operating system, now
decided by the preprocessor: pthread.h and unistd.h but on Windows,
pthread_setname_np where glibc or Apple has it, and no threads on Emscripten
without its pthreads. -ffp-contract=off. The member tests/examples/libvpx:
the version and build configuration, good-quality and real-time encodes
decoded back above a PSNR, lossless every pixel back, one thread the same
bytes twice, four threads with tile columns decoded on two.

compat.libwebm: the WebM (Matroska) container, mkvmuxer and mkvparser, from
the libwebm-1.0.0.32 tag archive: upstream CMakeLists.txt's `webm` target.
The member tests/examples/libwebm: a VP9 and an Opus track written to memory
and to disk (the same bytes), read back with mkvparser from memory and with
MkvReader, every frame's bytes and time; given track UIDs the same bytes twice.
@Sunrisepeak
Sunrisepeak merged commit 6364f05 into main Oct 29, 2026
31 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant