From: Stefan Oltmanns via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> To: ffmpeg-devel@ffmpeg.org Cc: Stefan Oltmanns <stefan-oltmanns@gmx.net> Subject: Re: [FFmpeg-devel] [PATCH v2] libavformat/vapoursynth: Update to API version 4, load library at runtime Date: Tue, 23 Jul 2024 02:24:54 +0200 Message-ID: <eaa52568-99c3-4f26-aefa-d1722070acdb@gmx.net> (raw) In-Reply-To: <172163146231.21847.3900874929001201865@lain.khirnov.net> Am 22.07.24 um 08:57 schrieb Anton Khirnov: > Quoting Stefan Oltmanns (2024-07-18 14:12:42) >> Hello Anton, >> >> can you eloborate on that? What is unacceptable with my patch that is >> perfectly fine in the AviSynth input module? It's the very same concept. > > It's not perfectly fine in avisynth, I dislike it there as well. There > are also recent patches that remove the atexit handler. The atexit will be removed in the next revision of the patch. > >> Loading the library at runtime makes it so much more useful, because you >> can distribute ffmpeg binaries without forcing the user to install >> VapourSynth (which requires the user to install Python). > > Runtime loading hides dependencies from standard tools and makes program > behaviour harder to analyze. Not to mention you're adding a bunch of > global state, which is evil. All global states will be removed in the next revision of the patch. It's the intention of my patch to reduce ("hide") the VapourSynth dependency, so unless you want to actually open a VapourSynth script there is no dependency to it. If you try to open a VapourScript script without having VapourSynth installed, you'll get an error message. VapourSynth itself has unclear dependencies, it will load plug-ins on runtime and as it uses Python you can in fact load other Python libaries, for example AI stuff like PyTorch for fancy upscaling, that will then load CUDA/ROCM. > >> VapourSynth is not just a library like x264 that you can link in >> statically if you like, VapourSynth is a frame server (like AviSynth) >> with it's own dependencies. >> If you worry about platforms that do not support loading libraries at >> runtime: VapourSynth is based on plugins that are loaded on runtime, so >> it won't work on those platforms anyway. > > I am worried about special "demuxers" than are not really demuxers and > don't work like other demuxers, hence massively increasing library > maintenance load. > I somewhat agree here, when I first saw a AviSynth demuxer in the list of supported formats it looked weird, because it's not a format that you demux. But what's the solution? Create a new library like "avframeserver" for 2 (?) different tools? How do they increase the maintinace load? There are a lot of external libraries that get used by ffmpeg, what's the difference here? As these formats do not contain any advanced video codec, but raw video, shouldn't it be rather easy to maintain, because no weird complications with some decoder? Best regards Stefan _______________________________________________ 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:[~2024-07-23 0:25 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-07-06 21:08 Stefan Oltmanns via ffmpeg-devel 2024-07-18 9:37 ` Stefan Oltmanns via ffmpeg-devel 2024-07-18 11:25 ` Anton Khirnov 2024-07-18 15:38 ` Stefan Oltmanns via ffmpeg-devel 2024-07-22 6:57 ` Anton Khirnov 2024-07-23 0:24 ` Stefan Oltmanns via ffmpeg-devel [this message] 2024-07-18 11:08 ` Ramiro Polla 2024-07-18 12:48 ` Stefan Oltmanns via ffmpeg-devel 2024-07-18 13:04 ` Ramiro Polla 2024-07-18 13:41 ` Stefan Oltmanns via ffmpeg-devel 2024-07-18 14:21 ` Ramiro Polla 2024-07-18 14:53 ` Stefan Oltmanns via ffmpeg-devel 2024-07-19 17:05 ` Stephen Hutchinson 2024-07-18 15:23 ` epirat07 2024-07-21 22:08 ` Stefan Oltmanns via ffmpeg-devel 2024-07-21 22:15 ` Hendrik Leppkes 2024-07-22 0:42 ` Stefan Oltmanns via ffmpeg-devel 2024-07-22 6:36 ` Hendrik Leppkes 2024-07-22 12:13 ` Ramiro Polla 2024-07-22 13:41 ` Hendrik Leppkes 2024-07-22 18:28 ` Ramiro Polla 2024-07-22 13:52 ` Stefan Oltmanns via ffmpeg-devel
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=eaa52568-99c3-4f26-aefa-d1722070acdb@gmx.net \ --to=ffmpeg-devel@ffmpeg.org \ --cc=stefan-oltmanns@gmx.net \ /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