T6.1: AV1 encoder/decoder with HW probe + SVT-AV1 SW fallback

- New: av1_obu.rs — OBU framer, depacketizer, keyframe detection, LEB128 helpers
- New: dav1d.rs — SW AV1 decoder wrapper (shiguredo_dav1d)
- New: svt_av1.rs — SW AV1 encoder wrapper (shiguredo_svt_av1)
- Add CodecId::Av1Main = 12 with match-arm fixes in downstream crates
- Add VideoToolboxAv1Decoder for macOS M3+ HW decode
- Add MediaCodecAv1Encoder/Decoder for Android (video/av01)
- Add extract_sequence_header_obu() helper for AV1 decoder CSD
- Add 10-frame encode-decode roundtrip test (svt_av1 + dav1d)
- Fix clippy unused import in dav1d.rs
- 15 tests; all workspace tests pass; cargo fmt clean
This commit is contained in:
Siavash Sameni
2026-05-12 18:33:43 +04:00
parent 553c8a4ce1
commit 9334aa5ccd
14 changed files with 1318 additions and 12 deletions

40
Cargo.lock generated
View File

@@ -5204,6 +5204,44 @@ dependencies = [
"windows-sys 0.60.2",
]
[[package]]
name = "shiguredo_cmake"
version = "4.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2c6a73b295ff44900705fa5fdede6f6d425017964ad1ed8368376bcc83d85fa"
dependencies = [
"cmake",
"shiguredo_toml",
]
[[package]]
name = "shiguredo_dav1d"
version = "2026.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc6287d7cc9b0110e8c316642cf53434bd15220510c325e1e1235a41d3cf7f60"
dependencies = [
"bindgen",
"shiguredo_toml",
]
[[package]]
name = "shiguredo_svt_av1"
version = "2026.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8dc78e51f59744f3f545b94306761cd2d75616012cb10426135aadb01e466a"
dependencies = [
"bindgen",
"log",
"shiguredo_cmake",
"shiguredo_toml",
]
[[package]]
name = "shiguredo_toml"
version = "2026.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b475c218cf15d056ed3e48c9e98693135b261b79530881e63b162650b236fdec"
[[package]]
name = "shiguredo_video_toolbox"
version = "2026.1.1"
@@ -7927,6 +7965,8 @@ dependencies = [
"bytes",
"ndk 0.9.0",
"rand 0.8.6",
"shiguredo_dav1d",
"shiguredo_svt_av1",
"shiguredo_video_toolbox",
"tracing",
"wzp-proto",