Điểm qua xiph/rav1e: 4.1k sao trên GitHub, viết chủ yếu bằng Assembly. The fastest and safest AV1 encoder.
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.
rav1e is an AV1 video encoder. It is designed to eventually cover all use cases, though in its current form it is most suitable for cases where libaom (the reference encoder) is too slow.
Features
Intra, inter, and switch frames
64x64 superblocks
4x4 to 64x64 RDO-selected square and rectangular blocks
DC, H, V, Paeth, smooth, and all directional prediction modes
DCT, (FLIP-)ADST and identity transforms (up to 64x64, 16x16 and 32x32 respectively)
8-, 10- and 12-bit depth color
4:2:0, 4:2:2 and 4:4:4 chroma sampling
11 speed settings (0-10, exhaustive to near real-time)
Constant quantizer and target bitrate (single- and multi-pass) encoding modes
Still picture mode
Documentation
Find the documentation in doc/
Releases
For the foreseeable future, a weekly pre-release of rav1e will be published every Tuesday.
Building
Toolchain: Rust
rav1e currently requires Rust 1.74.0 or later to build.
Dependency: NASM
Some x86_64-specific optimizations require NASM 2.14.02 or newer and are enabled by default.
strip will be used if available to remove the local symbols from the asm objects.
The CI is testing against nasm 2.15.05, so bugs for other versions might happen. If you find one please open an issue!
Install nasm
ubuntu 20.04 (nasm 2.14.02)
sudo apt install nasm
ubuntu 18.04 (nasm 2.14.02)
sudo apt install nasm-mozilla
# link nasm into $PATH
sudo ln /usr/lib/nasm-mozilla/bin/nasm /usr/local/bin/
fedora 31, 32 (nasm 2.14.02)
sudo dnf install nasm
windows (nasm 2.15.05)
Have a NASM binary in your system PATH.
$NASM_VERSION="2.15.05" # or newer
$LINK="https://www.nasm.us/pub/nasm/releasebuilds/$NASM_VERSION/win64"
curl --ssl-no-revoke -LO "$LINK/nasm-$NASM_VERSION-win64.zip"
7z e -y "nasm-$NASM_VERSION-win64.zip" -o "C:\nasm"
# set path for the current sessions
set PATH="%PATH%;C:\nasm"
macOS (nasm 2.15.05)
brew install nasm
Release binary
To build release binary in target/release/rav1e run:
cargo build --release
Unstable features
Experimental API and Features can be enabled by using the unstable feature.
cargo build --features <feature>,unstable
Current unstable features
Channel API:
cargo build --features channel-api,unstable
Those Features and API are bound to change and evolve, do not rely on them staying the same over releases.
Target-specific builds
The rust compiler can produce a binary that is about 11%-13% faster if it can use avx2, bmi1, bmi2, fma, lzcnt and popcnt in the general code, you may allow it by issuing:
The resulting binary will not work on cpus that do not sport the same set of extensions enabled.
NOTE : You may use rustc --print target-cpus to check if the cpu is supported, if not -C target-cpu=native would be a no-op.
Building the C-API
rav1e provides a C-compatible set of library, header and pkg-config file.
To build and install it you can use cargo-c:
cargo install cargo-c
cargo cinstall --release
Please refer to the cargo-c installation instructions.
Usage
Compressing video
Input videos must be in y4m format. The monochrome color format is not supported.
cargo run --release --bin rav1e -- input.y4m -o output.ivf
(Find a y4m-file for testing at tests/small_input.y4m or at http://ultravideo.cs.tut.fi/#testsequences)
Decompressing video
Encoder output should be compatible with any AV1 decoder compliant with the v1.0.0 specification. You can decode using dav1d, which is now packaged .
dav1d -i output.ivf -o output.y4m
Configuring
rav1e has several optional features that can be enabled by passing --features to cargo. Passing --all-features is discouraged.
Features
Find a full list in feature-table in Cargo.toml
asm - enabled by default. When enabled, assembly is built for the platforms supporting it.
x86_64: Requires nasm.
aarch64
Requires gas
Alternative: Use clang assembler by setting CC=clang
NOTE: SSE2 is always enabled on x86_64, neon is always enabled for aarch64, you may set the environment variable RAV1E_CPU_TARGET to rust to disable all the assembly-optimized routines at the runtime.
Contributing
Please read our guide to contributing to rav1e.
Getting in Touch
Come chat with us on the IRC channel #daala on Libera.Chat! You can also use a web client to join with a web browser.
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/xiph/rav1e là nguồn chính thức.
xiph/rav1e có bao nhiêu sao?
xiph/rav1e có 4.1k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/xiph/rav1e. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
xiph/rav1e có những chủ đề gì?
GitHub topics của xiph/rav1e: "av1", "av1-encoder", "hacktoberfest". TopGit xếp repo vào nhóm mã nguồn mở.
xiph/rav1e có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho xiph/rav1e. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
xiph/rav1e còn đang phát triển không?
Commit gần nhất trên xiph/rav1e là 9 ngày trước (theo timestamp GitHub). Repo có 287 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
xiph/rav1e dùng license gì?
xiph/rav1e 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.
xiph/rav1e viết bằng ngôn ngữ gì?
xiph/rav1e 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.
Chưa chắc rav1e có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về rav1e.