videolan/dav1d được TopGit xếp vào nhóm dự án di động, với 785 sao trên GitHub, viết chủ yếu bằng Assembly. A read-only mirror of dav1d source code repository. The origin is at https://code.videolan.org/videolan/dav1d/
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
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.
Goal and Features
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).
License
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.
Roadmap
The plan is the following:
Reached
Complete C implementation of the decoder,
Provide a usable API,
Port to most platforms,
Make it fast on desktop, by writing asm for AVX2 chips.
Make it fast on mobile, by writing asm for ARMv8 chips,
Make it fast on older desktop, by writing asm for SSSE3+ chips,
Make high bit-depth fast on mobile, by writing asm for ARMv8 chips.
Make it fast on older mobile, by writing asm for ARMv7 chips,
Make high bit-depth fast on older mobile, by writing asm for ARMv7 chips,
Make high bit-depth fast on desktop, by writing asm for AVX2 chips,
Make high bit-depth fast on older desktop, by writing asm for SSSE3+ chips,
Improve threading.
On-going
Improve C code base with various tweaks,
Accelerate for less common architectures, like PPC, SSE2, RISC-V or AVX-512.
After
Use more GPU decoding, when possible.
Contribute
Currently, we are looking for help from:
C developers,
asm developers,
platform-specific developers,
GPGPU developers,
testers.
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.
CLA
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.
CoC
The VideoLAN Code of Conduct applies to this project.
Compile
General compilation steps
Install Meson (0.54 or higher), Ninja, and, for x86* targets, nasm (2.14 or higher)
Run mkdir build && cd build to create a build directory and enter it
Run meson setup .. to configure meson, add --default-library=static if static linking is desired
Run ninja to compile
Following are modification of step 3 and 4, for specific purpose.
Cross-Compilation for 32- or 64-bit Windows, 32-bit Linux
If you're on a linux build machine trying to compile .exe for a Windows target/host machine, configure meson like this
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.
Run meson setup .. -Denable_docs=true to configure meson to generate docs from the build directory.
Run ninja doc/html to build the docs
The result can be found in build/doc/html/. An online version built from master can be found here.
Run tests
In the root directory, run git clone https://code.videolan.org/videolan/dav1d-test-data.git tests/dav1d-test-data to fetch the test data repository
During meson configuration, specify -Dtestdata_tests=true
Run meson test -v after compiling
Decoder conformance tests (optional but encouraged)
Download the argon conformance bitstreams from https://streams.videolan.org/argon/
Extract into dav1d directory by running tar -xvf argon.tar.zst
Execute tests with tests/dav1d_argon.bash -d build/tools/dav1d -a argon
Expected outcome is 2763 files successfully verified in XXmYYs (dav1d 1.x.y-zz-gHHHHHHH filmgrain=1 cpumask=-1)
Support
This 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.
FAQ
Why do you not improve libaom rather than starting a new project?
We believe that libaom is a very good library. It was however developed for research purposes during AV1 design.
We think that an implementation written from scratch can achieve faster decoding, in the same way that ffvp9 was faster than libvpx.
Is dav1d a recursive acronym?
Yes.
Can I help?
Yes. See the contributions document.
I am not a developer. Can I help?
Yes. We need testers, bug reporters and documentation writers.
What about the AV1 patent license?
This project is an implementation of a decoder. It gives you no special rights on the AV1 patents.
Please read the AV1 patent license that applies to the AV1 specification and codec.
Will you care about <my_arch>? <my_os>?
We do, but we don't have either the time or the knowledge. Therefore, patches and contributions welcome.
videolan/dav1d thuộc nhóm Mobile trên TopGit, cùng 10 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về videolan/dav1d ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/videolan/dav1d là nguồn chính thức.
videolan/dav1d có bao nhiêu sao?
videolan/dav1d có 785 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/videolan/dav1d. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
videolan/dav1d có phải mã nguồn mở không?
Có — videolan/dav1d phát hành theo license BSD-2-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/videolan/dav1d.
videolan/dav1d còn đang phát triển không?
Commit gần nhất trên videolan/dav1d là 1 tháng trước (theo timestamp GitHub). Repo có 101 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
videolan/dav1d dùng license gì?
videolan/dav1d phát hành theo license BSD-2-Clause. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
videolan/dav1d là gì?
videolan/dav1d (videolan/dav1d) là dự án Assembly trên GitHub. Theo mô tả gốc: A read-only mirror of dav1d source code repository. The origin is at https://code.videolan.org/videolan/dav1d/
videolan/dav1d viết bằng ngôn ngữ gì?
videolan/dav1d chủ yếu viết bằng Assembly. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
dav1d có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về dav1d.