commit | 77b3955537c716acbbdf4bfc46ec2f6b0ccd683a | [log] [tgz] |
---|---|---|
author | Martin Storsjö <martin@martin.st> | Thu Jan 26 15:18:41 2023 +0200 |
committer | Martin Storsjö <martin@martin.st> | Tue Jan 31 15:33:58 2023 +0200 |
tree | 3147a794f8ee9090f105f270fbcf4bc3bc460275 | |
parent | 99956c737a6d0a70d8aab8a4ff4c15aee65fc197 [diff] |
checkasm: Add an --affinity= option for selecting a CPU core Add an option for selecting the core where the single thread of checkasm runs. This allows benchmarking on specific CPU cores on heterogenous CPUs, like ARM big.LITTLE configurations. On Linux, one can easily wrap an invocation of checkasm with "taskset -c <n> [...]" - so this option isn't very essential there - however it is quite useful on Windows. On Windows, it is somewhat possible to do the same by launching the tool with "start /B /affinity <hexmask> [...]", but that doesn't work well with scripting ("start" returns before the command has finished running, and it's not obvious how to invoke "start" from within WSL). Using "taskset" to launch processes on specific cores within WSL on Windows doesn't work - regardless of the Linux level affinity, the process ends up running on the performance cores anyway.
dav1d is an AV1 cross-platform decoder, open-source, and focused on speed and correctness.
It is now battle-tested and production-ready and can be used everywhere.
The canonical repository URL for this repo is https://code.videolan.org/videolan/dav1d
This project was partially funded by the Alliance for Open Media/AOM.
The goal of this project is to provide a decoder for most platforms, and achieve the highest speed possible to overcome the temporary lack of AV1 hardware decoder.
It supports all features from AV1, including all subsampling and bit-depth parameters.
In the future, this project will host simple tools or simple wrappings (like, for example, an MFT transform).
dav1d is released under a very liberal license, a contrario from the other VideoLAN projects, so that it can be embedded anywhere, including non-open-source software; or even drivers, to allow the creation of hybrid decoders.
The reasoning behind this decision is the same as for libvorbis, see RMS on vorbis.
The plan is the following:
Currently, we are looking for help from:
Our contributions guidelines are quite strict. We want to build a coherent codebase to simplify maintenance and achieve the highest possible speed.
Notably, the codebase is in pure C and asm.
We are on IRC, on the #dav1d channel on Libera.chat. If you do not have an IRC Client at hand, use IRC Web Interface.
See the contributions document.
There is no CLA.
People will keep their copyright and their authorship rights, while adhering to the BSD 2-clause license.
VideoLAN will only have the collective work rights.
The VideoLAN Code of Conduct applies to this project.
mkdir build && cd build
to create a build directory and enter itmeson ..
to configure meson, add --default-library=static
if static linking is desiredninja
to compileIf you're on a linux build machine trying to compile .exe for a Windows target/host machine, run
meson build --cross-file=package/crossfiles/x86_64-w64-mingw32.meson
or, for 32-bit:
meson build --cross-file=package/crossfiles/i686-w64-mingw32.meson
mingw-w64
is a pre-requisite and should be installed on your linux machine via your preferred method or package manager. Note the binary name formats may differ between distributions. Verify the names, and use alias
if certain binaries cannot be found.
For 32-bit linux, run
meson build --cross-file=package/crossfiles/i686-linux32.meson
meson build -Denable_docs=true
to create the build directoryninja -C build doc/html
to build the docsThe result can be found in build/doc/html/
. An online version built from master can be found here.
git clone https://code.videolan.org/videolan/dav1d-test-data.git tests/dav1d-test-data
to fetch the test data repository-Dtestdata_tests=true
meson test -v
after compilingThis project is partially funded by the Alliance for Open Media/AOM and is supported by TwoOrioles and VideoLabs.
These companies can provide support and integration help, should you need it.
Please read the AV1 patent license that applies to the AV1 specification and codec.