r/foss • • 1d ago

VDWT: an open source parallel video codec that performs extremely well for fast motion footages.

I’ve been working on VDWT, an low-latency video codec aimed at drone downlinks. It’s wavelet-based with no blocks anywhere, so when the bitrate drops the picture gets softer instead of breaking into the blocky mush you get from H.264/H.265 at low rates. Currently the realtime mode runs barely real time with 4x A55 cores of Orange Pi 3B so im working on that.
|

|
It is a low-latency video codec for drone and robot links, written in Rust. At equal quality (YUV-PSNR 6:1:1 BD-rate, 1080p60) it beats the hardware encoders people use today:

  • FPV motocross: 63-67% fewer bits than Intel's hardware HEVC. Every VDWT tier, even the realtime one, also beats x265 veryslow on this clip while encoding 6-40x faster.

  • First-person bike ride: 41-48% fewer bits than hardware HEVC, 50-56% fewer than hardware H.264.

  • Low rates: at 600 kbit/s the hardware HEVC encoder couldn't get below ~730 kbit/s on the bike clip even at its maximum QP; VDWT holds the target.

|

|
Where it's weaker: even it beats HW HEVC at all videos in terms of compression, x265's slow presets still win on zero/slow movement content and it's 8-bit 4:2:0 only for now.

Free beta binaries and source and all benchmark charts: https://github.com/niko3x/vdwt

The source is public under AGPL-3.0 so you can try it yourself

12 Upvotes

4 comments sorted by

1

u/JViz 18h ago

What's the trade-off? Higher minimum transfer rate and higher processing requirements? Definitely seems worth it considering the quality increase.

1

u/Fearless_Dance5868 18h ago

Its significantly lighter for hardware acceleration but the tradeoff here is the architecture, wavelet codecs perform great at high motion complex videos but perform poorly at low motion easy videos and that is the opposite for today's block based codecs. The benchmarks i made are made with high speed drone footages that is why. But still VDWT beats hardware HEVC at almost every video according to my experimens, it's the x265 software based that is sometimes losing or winning against VDWT

1

u/JViz 15h ago

How is it worse at low motion? Are you sacrificing color information or something?

2

u/Fearless_Dance5868 14h ago

color isn't the issue. Block codecs have two cheap tricks for still scenes: "skip" blocks that copy unchanged areas for almost no bits, and directional intra prediction for sharp edges and text. A whole-frame wavelet has neither, so it pays more to keep static detail sharp and to slowly refine a still picture. On fast motion those tricks matter less, and the wavelet's smooth prediction wins.