From: "Tomas Härdin" <git@haerdin.se> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] I've written a filter in Rust Date: Wed, 26 Feb 2025 15:34:31 +0100 Message-ID: <1677e4490923053d9403b8cbb3b79ca68ccc52b1.camel@haerdin.se> (raw) In-Reply-To: <1F8FAD8B-8D33-494D-9F90-4B84CA879B83@remlab.net> mån 2025-02-24 klockan 16:51 +0200 skrev Rémi Denis-Courmont: > Hi, > > Le 23 février 2025 23:30:03 GMT+02:00, "Tomas Härdin" > <git@haerdin.se> a écrit : > > lör 2025-02-22 klockan 14:57 +0200 skrev Rémi Denis-Courmont: > > > Le perjantaina 21. helmikuuta 2025, 20.02.16 UTC+2 Tomas Härdin a > > > écrit : > > > > The above said, I'm not against Rust. It has some nice > > > > properties. But > > > > it does not seem very "stable" so far. Perhaps this has changed > > > > in > > > > recent years.. > > > > > > IME, it's become very usable for user-space code. Bare metal > > > still pretty much > > > requires unstable features, but that's not a problem for FFmpeg. > > > > I mean more in terms of ABI, and having to have cargo install > > specific > > versions of the Rust compiler and so on. > > Why? The ABI will never be fully stable. Zero-cost abstractions just > don't lend themselves to an ABI. The C ABI is very stable. It's why "C for the API/ABI and C++ for the implementation" is a such powerful combination. Perhaps the same thing could be done with Rust, or both Rust and C++.. > > > > If we're in the habit of allowing other languages I'd be in > > > > favor of > > > > allowing C++, so that we can make use of the STL containers > > > > rather than > > > > rolling our own. > > > > > > Yikes. Rust is actually way saner for type-generic programming > > > than C++. > > > > No doubt, but STL is still miles better than rolling our own > > containers. > > But STL is not worth switching to C++ for. We already use C++ in the codebase. The cost for using it in more places is very low > If the goal is to enable a language with significantly improved > static safety, without compromising on performance (especially no GC) > and optimisability, then Rust is pretty much the only option at the > moment. I have suggested using formal methods (frama-c) to improve the safety of the C code. So far the reception has been lukewarm at best, even for less demanding tools such as value analysis, compared to weakest precondition calculus (WP). Frama-C is also moving towards C++ support. > > Anyway, rather than shoehorning Rust into this codebase it might > > make > > more sense to contribute to NihAV instead. But only if it has a > > sane > > parsing framework > > That makes sense if the goal is to publish and forget, but otherwise > I doubt that NihAV will ever be relevant "in the field". > > That being said, I think Rust would make much more sense for decoders > and demuxers than for filters and ML stuff. On this I fully agree. For demuxers it makes perfect sense, and also for the non-DSP side of codecs. But this is also why, if you're already willing pay the oxidation cost, contributing to NihAV makes much more sense, because you're not held back by trying to retain ABI compat. Far above all this, what is even more important is to do proper parsing, with say a parser combinator framework, not just implementing yet another library of shotgun parsers. And of course, using existing libraries whenever possible. But in this project both of these amount to tech-heresy. /Tomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-02-26 14:34 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-02-20 13:06 Leandro Santiago 2025-02-20 16:20 ` Leandro Santiago 2025-02-20 22:49 ` Michael Niedermayer 2025-02-21 7:56 ` Leandro Santiago 2025-02-21 9:01 ` Tomas Härdin 2025-02-21 9:21 ` Soft Works 2025-02-21 13:21 ` Michael Niedermayer 2025-02-21 14:30 ` Soft Works 2025-02-21 14:53 ` Kieran Kunhya via ffmpeg-devel 2025-02-21 15:02 ` Soft Works 2025-02-21 19:27 ` Kieran Kunhya via ffmpeg-devel 2025-02-21 20:10 ` Soft Works 2025-02-26 13:50 ` Tomas Härdin 2025-02-26 14:18 ` Zhao Zhili 2025-02-26 15:32 ` Rémi Denis-Courmont 2025-02-26 16:03 ` Zhao Zhili 2025-02-26 16:25 ` martin schitter 2025-02-26 14:07 ` Nicolas George 2025-02-26 16:35 ` Soft Works 2025-02-21 16:39 ` Stephen Hutchinson 2025-02-26 14:25 ` Vittorio Giovara 2025-02-21 13:18 ` Lynne 2025-02-21 13:44 ` Kieran Kunhya via ffmpeg-devel 2025-02-21 18:02 ` Tomas Härdin 2025-02-22 12:57 ` Rémi Denis-Courmont 2025-02-23 21:30 ` Tomas Härdin 2025-02-23 21:51 ` Michael Niedermayer 2025-02-26 14:11 ` Tomas Härdin 2025-02-24 14:51 ` Rémi Denis-Courmont 2025-02-26 14:34 ` Tomas Härdin [this message] 2025-02-26 15:13 ` Leandro Santiago 2025-02-22 12:49 ` Rémi Denis-Courmont
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1677e4490923053d9403b8cbb3b79ca68ccc52b1.camel@haerdin.se \ --to=git@haerdin.se \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git