-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question: would rav1d integration make sense? #101
Comments
I'd wait till it is completely oxidized since as it is now we'd still need nasm and a C compiler, but it is definitely something to consider. Sorry for not replying sooner! |
I'm not sure I understand your point. Also, while some of the assembly may be able to rewritten as Rust with portable simd (when stabilized), performance might still be an issue, and there are efforts to verify the assembly and achieve safety that way: scaspin/memory-safe-assembly#31. |
That I could see you do need a C compiler at least for one target https://github.com/memorysafety/rav1d/blob/main/build.rs#L362 cc::Build::new()
.files([&"tools/compat/getopt.c"])
.include("include/compat")
.debug(cfg!(debug_assertions))
.compile(&getopt); Details aside, is there a compelling reason for me to spend my free time on integrating it and taking the burden to maintain that integration as it is now? Until cargo gets able to deal with asm in a less brittle way, just that alone would bring quite a bit of headache... |
Hmm, I didn't realize we still did that. That's left over, and we don't need that anymore. We'll remove it.
Nope, not as it is now if you don't want to. We'll hopefully have some time to provide a fully safe Rust API.
I wasn't suggesting you expend extra effort on this now, I was just wondering why |
I have few ideas on how to address at least some of that, but not enough time since it would require a full RFC and quite a bit of refactoring in cargo. |
I'm just confused why |
So you have either user complaining about Sadly we do not have usable rust replacements for |
Rav1d being a port of dav1d to rust, is intended to be a drop in replacement for dav1d, and this extends to librav1d vs libdav1d. rav1d does not currently have a rust API and is focused on being a drop in dav1d replacement for now see memorysafety/rav1d#1252
I was wondering if a
rav1d-sys
would make sense as an optional toggle. Currently rav1d is a still slower then dav1d, but still fast enough to be used.The text was updated successfully, but these errors were encountered: