Live data from Hacker News

Rav1e: An experimental AV1 video encoder, designed to be fast and safe

github.com

1–10 of 76 posts

Re: Rav1e: An experimental AV1 video encoder, designed to be fast and safe

#4

What does "safest" mean in this context?

Presumably that it's implemented in Rust, and thus does not suffer from many of the usual bugs that C code bases suffer from?

There seems to be some asm code as well, which obviously does not enjoy the safety advantages of Rust.

Re: Rav1e: An experimental AV1 video encoder, designed to be fast and safe

#6
post #4

What does "safest" mean in this context?

Presumably that it's implemented in Rust, and thus does not suffer from many of the usual bugs that C code bases suffer from? There seems to be some asm code as well, which obviously does not enjoy the safety advantages of Rust.

I always wondered if in practice it really checks out, is rust code really safer? Did the bugs just shift to different ones? Is there anyone who wrote about that already?

Re: Rav1e: An experimental AV1 video encoder, designed to be fast and safe

#7
post #6
post #4

Earlier quoted context omitted.

Presumably that it's implemented in Rust, and thus does not suffer from many of the usual bugs that C code bases suffer from? There seems to be some asm code as well, which obviously does not enjoy the safety advantages of Rust.

I always wondered if in practice it really checks out, is rust code really safer? Did the bugs just shift to different ones? Is there anyone who wrote about that already?

It's probably not quite equivalent but I believe Frederico & al found & fixed a number of issues when they converted librsvg to rust. You may want to check the archives on their blogs (IIRC it's split between Frederico's own and the librsvg one) for more, or specifics.

But "safe" rust at least intrinsically protects from use-after-free, double free, dangling pointers, null-pointer dereferences, out-of-bounds accesses, … You may still have logic bugs of course (though the richer type system expressivity also allows better static encoding of application & domain logic), but these baseline memory-safety issues will only be a problem in specific and tagged `unsafe` blocks rather than throughout the application.

Re: Rav1e: An experimental AV1 video encoder, designed to be fast and safe

#9
post #5

> ~5 fps encoding @ 480p How does this compare with the reference encoder?

You'd need to run them on the same machine to make sure you get a proper comparison but https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=5601 has some runs. One of the users downthread ("entac") provides both libaom and libx264 numbers, they get 63fps for libx264 and 0.0924fps for libaom (r9028)

Also this currently does delegates work to libaom.

Post reply on HN