From: "Rémi Denis-Courmont" <remi@remlab.net>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] I've written a filter in Rust
Date: Sat, 22 Feb 2025 14:49:44 +0200
Message-ID: <4959204.GXAFRqVoOG@basile.remlab.net> (raw)
In-Reply-To: <eb5fa9b8-5ec6-45be-a4ec-ac4118cdaf5e@lynne.ee>
Le perjantaina 21. helmikuuta 2025, 15.18.06 UTC+2 Lynne a écrit :
> > - 1: get a working and efficient implementation of the SORT algorithm.
> > - 2: start learning Rust again (it's been ~5 years since I used it)
> > - 3: learn more about the libavfilter codebase
> > - 4: evaluate whether Rust could work as a second language for hacking
> > FFMpeg.
>
> None of us know Rust confidently enough to maintain and work on such code.
A project should of course limit the number of distinct programminglanguages
involved for a number of reasons, but there are people who know Rust quite
well here as well as in adjacent projects from the OSS multimedia community.
The sustainability problem is really not specific to the programming language.
The majority of FFmpeg code requires domain-specific knowledge that even most
FFmpeg maintainers don't have. By that same logic we should not have any
assembler optimisation for any instruction set other than, maybe, 386 and
support only the most well-known codecs and containers.
(...)
> Regardless of the language, I disagree with using crates in the context
> of FFmpeg
I assume that you mean *external* crates because if FFmpeg starts
incorporating Rust, I would certainly expect it to consist of a workspace with
multiple crates.
With that said, external crates are just the Rust equivalent of external C
libraries. I agree that, ideally, FFmpeg should not depend on external
libraries and carry native implementations of anything other than the
languages runtimes and hardware abstraction layers...but in actuality, FFmpeg
has tons of libraries as optional dependencies.
> and any use of cargo.
I fail to see the problem, TBH. You can use rustc directly, but it's really
inconvenient with little to no benefits. I don't see why we couldn't use Cargo
to produce static libraries, then have the Makefile import those static
libraries into the existing linking process.
We can (and most definitely should) restrict adding external crates in the
Cargo manifests but that does not mean we should ban Cargo altogether.
> We used to link to OpenCV. The only reason why we dropped it was because
> we used the C interface, which was removed, and no one wanted to or was
> interested in rewriting it.
I agree that we should not depend on external *frameworks*.
--
Rémi Denis-Courmont
Tapio's place new town, former Finnish Republic of Uusimaa
_______________________________________________
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".
prev parent reply other threads:[~2025-02-22 12:49 UTC|newest]
Thread overview: 36+ 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-27 22:40 ` Michael Niedermayer
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-27 21:01 ` Michael Niedermayer
2025-02-28 1:57 ` Pavel Koshevoy
2025-02-28 15:35 ` Rémi Denis-Courmont
2025-02-24 14:51 ` Rémi Denis-Courmont
2025-02-26 14:34 ` Tomas Härdin
2025-02-26 15:13 ` Leandro Santiago
2025-02-22 12:49 ` Rémi Denis-Courmont [this message]
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=4959204.GXAFRqVoOG@basile.remlab.net \
--to=remi@remlab.net \
--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