Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
7f4116f
libva init
kbalt Sep 8, 2025
8bff3a1
bitstreams
kbalt Sep 10, 2025
704ba51
fix libva build
kbalt Sep 10, 2025
a352dd5
fix b frames somewhat
kbalt Sep 10, 2025
1994e1d
do not emit P instead of B-frames if an IDR-frame follows
kbalt Sep 11, 2025
ebeeab9
tmp
kbalt Sep 11, 2025
efb09e7
works with a single ref frame
kbalt Sep 12, 2025
effabfa
stable
kbalt Sep 12, 2025
da97f23
b frames are not working
kbalt Sep 13, 2025
51862a0
track and sync in-flight pictures, reuse coded buffers
kbalt Sep 14, 2025
3368e19
wip generic encoder stuff
kbalt Sep 15, 2025
7488e2e
tmp
kbalt Sep 18, 2025
e8428fc
vulkan produces ... something
kbalt Sep 29, 2025
089dfb9
looks good
kbalt Sep 29, 2025
c0d1304
abstract some vulkan things
kbalt Sep 29, 2025
afc55c1
rate control & much more
kbalt Sep 30, 2025
b2c33e1
move video into own folder
kbalt Sep 30, 2025
38747fb
simple error handling in libva
kbalt Sep 30, 2025
19178de
b frames broken
kbalt Oct 1, 2025
5fd2958
tmp
kbalt Oct 2, 2025
943d5e6
migrate back to stable ash
kbalt Oct 3, 2025
94f19a1
replace scap with xcap
kbalt Oct 3, 2025
454efc2
disallow mapping 0 bytes
kbalt Oct 4, 2025
38f7ee5
do not add rate control info when beginning uninitialized video session
kbalt Oct 4, 2025
605dc79
use debug_utils when debug_assertions are enabled
kbalt Oct 5, 2025
89179e3
query status & offset
kbalt Oct 5, 2025
d59ba3e
require HOST_COHERENT memory
kbalt Oct 5, 2025
427cea8
add missing usage for image views in dpb
kbalt Oct 5, 2025
7dd14da
start idr_pic_id at 0
kbalt Oct 5, 2025
682d751
don't hardcode output buffer sizes
kbalt Oct 5, 2025
edc91be
cleanup rc & encode commands
kbalt Oct 5, 2025
59c7ffd
fix libva test
kbalt Oct 8, 2025
57b1d8e
tmp
kbalt Oct 9, 2025
09b01b6
generic encoder
kbalt Oct 9, 2025
d768f20
various fixes
kbalt Oct 19, 2025
942e45c
wip
kbalt Nov 24, 2025
a93378e
fixes
kbalt Nov 27, 2025
1167ce4
Wait for all encode operations to complete on drop
kbalt Nov 28, 2025
d8317b3
disable twcc
kbalt Nov 28, 2025
d4c5d85
testing
kbalt Nov 28, 2025
5526233
misc fixes
kbalt Dec 1, 2025
8e014ae
make a bunch of stuff public again
kbalt Dec 5, 2025
c31dcda
add restore token to pipewire capture
kbalt Dec 7, 2025
ae86b1a
tmp
kbalt Dec 7, 2025
63183b8
fix crash
kbalt Dec 9, 2025
3e6a79b
various fixes
kbalt Dec 9, 2025
f5dc248
stateful negotiation & pipewire audio capture cleanup
kbalt Dec 13, 2025
658120f
tmp
kbalt Dec 14, 2025
ada5e88
fix: split dma buffer sync into two objects instead of using choice
kerkmann Dec 14, 2025
b186462
multiple planes
kbalt Dec 14, 2025
0fa4697
fd infos
kbalt Dec 14, 2025
def698a
acquire from foreign queue
kbalt Dec 14, 2025
c67fd00
set debug_name
kbalt Dec 15, 2025
492cc0b
fix dma sync negotiation
kbalt Dec 15, 2025
207cb4d
return result of pipewire capture spawn
kbalt Dec 16, 2025
c1c1c0c
h264 update rc & fix another bug in sequence number guessing
kbalt Dec 18, 2025
ec2eaf8
misc
kbalt Dec 20, 2025
d715ebd
ash 1.4
kbalt Dec 21, 2025
10543d4
audio level
kbalt Dec 21, 2025
1b07768
av1
kbalt Dec 25, 2025
7f7ba2f
av1 improments (with h264 rename oops) & fix blurry rgb to nv12 shader
kbalt Jan 5, 2026
ea14140
fix event loop bug & reduce memory usage of TokioIoState
kbalt Jan 18, 2026
7e8b33a
700th fix for TokoIoState::poll
kbalt Jan 18, 2026
b6261b5
701th fix for TokioIoState::poll
kbalt Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@
**/*.rs.bk
.idea
Cargo.lock
.vscode
*.h264
*.png
*.html
*.ivf
9 changes: 8 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[workspace]
resolver = "2"

members = ["sip/*", "media/*", "examples"]
members = ["sip/*", "media/*", "media-video/*", "examples"]

[workspace.package]
authors = ["kbalt"]
Expand All @@ -24,12 +24,19 @@ stun-types = { package = "ezk-stun-types", version = "0.3.0", path = "media/stun
rtc = { package = "ezk-rtc", version = "0.1.0", path = "media/rtc" }
srtp = { package = "ezk-srtp", version = "0.1.0", path = "media/srtp" }

h264 = { package = "ezk-h264", version = "0.1.0", path = "media-video/h264" }
libva = { package = "ezk-libva", version = "0.1.0", path = "media-video/libva" }
vulkan = { package = "ezk-vulkan", version = "0.1.0", path = "media-video/vulkan" }
capture = { package = "ezk-capture", version = "0.1.0", path = "media-video/capture" }

rustls-pki-types = { version = "1", features = ["std"] }
tokio-native-tls = { version = "0.3" }
tokio-rustls = { version = "0.26", default-features = false }

log = "0.4"

ezk-image = { version = "0.4", default-features = false }

[workspace.lints.rust]
unreachable_pub = "warn"

29 changes: 29 additions & 0 deletions media-video/av1/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
name = "ezk-av1"
version = "0.1.0"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

[lints]
workspace = true

[features]
default = ["vulkan"]

vulkan = ["dep:vulkan"]

[dependencies]
bytes = "1.10.0"
log = "0.4"
thiserror = "2.0.11"
vulkan = { workspace = true, optional = true }
smallvec = "1"


[dev-dependencies]
env_logger = "0.11"
capture.workspace = true
tokio = { version = "1", features = ["sync", "macros", "rt"] }
ivf = "0.1.4"
2 changes: 2 additions & 0 deletions media-video/av1/src/encoder/backends/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#[cfg(feature = "vulkan")]
pub mod vulkan;
Loading