From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable out-of-tree filters
Date: Fri, 28 Mar 2025 22:38:28 +0100
Message-ID: <20250328213828.GI4991@pb2> (raw)
In-Reply-To: <8bdfe841-080b-49f6-913b-7577d03a1214@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2858 bytes --]
Hi Leandro
On Mon, Mar 24, 2025 at 05:20:02PM +0100, Leandro Santiago wrote:
> In this iteration I've made the following changes, based on the received feedback:
>
> - No external tools are needed by the build system.
>
> - The external filters should be put in ext/libavfilter. Anything there will be included.
>
> - The build system will execute a file called `configure.sh` in the directory of the external filter. This script has access to the functions and variables defined on `./configure`, as it's included via `.` on sh.
>
> - I will document the "API" for the external filters as soon the approach is approved, but an example of filter can be found at https://gitlab.com/leandrosansilva/ffmpeg-extra-filter-example . If you are unhappy with the example code hosted on gitlab.com, I can move it elsewhere where it gets easier for you to have access to the code.
>
> - Essentially, an external filter is composed by at least a `configure.sh` and a `Makefile`.
>
> I really hope this can be the last iteration, as I ran out of ideas on how to simplify the process, so please let me know your thoughts :-)
How does this compare to simply using
git merge
That is each filter developer simply maintaining a fork of ffmpeg and their
filter, in that fork. Adding lines to configure, Makefile, ...
If we take the last filter as a random example, what it chanegd looks like this:
avfilter/interlace_vulkan: add interlace_vulkan filter
This is a Vulkan-accelerated version of the existing interlace filter.
configure | 1 +
doc/filters.texi | 2 +-
libavfilter/Makefile | 1 +
libavfilter/allfilters.c | 1 +
libavfilter/vf_interlace_vulkan.c | 313 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 317 insertions(+), 1 deletion(-)
The advantage of "git merge" wether by hand or by a automated tool
is that its not limited to what it can do. Its much more powerfull
and the changes outside adding the filter itself are very basic.
Conflicts are something that we can workaround in many ways if they
become a problem
Also it much easier alows transitioning between actually including a filter
in git master, if the community desires that for a filter later.
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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-03-28 21:38 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 12:18 [FFmpeg-devel] [PATCH] avfilter: POC: " Leandro Santiago
2025-03-13 12:20 ` Leandro Santiago
2025-03-14 15:04 ` Michael Niedermayer
2025-03-14 16:13 ` Leandro Santiago
2025-03-14 20:58 ` Michael Niedermayer
2025-03-14 16:57 ` Lynne
2025-03-14 18:21 ` Nicolas George
2025-03-14 19:43 ` Leandro Santiago
2025-03-14 22:45 ` Soft Works
2025-03-19 13:08 ` [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: " Leandro Santiago
2025-03-24 15:56 ` Leandro Santiago
2025-03-24 16:20 ` Leandro Santiago
2025-03-25 18:05 ` Ronald S. Bultje
2025-03-26 2:59 ` [FFmpeg-devel] =?gb18030?b?u9i4tKO6ICBbUEFUQ0hdIGF2ZmlsdGVyOiBQ?= =?gb18030?q?roof_of_Concept=3A_enable_out-of-tree_filters?= yangyalei via ffmpeg-devel
2025-03-26 4:26 ` [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable out-of-tree filters Zhao Zhili
2025-03-26 6:09 ` softworkz .
2025-03-26 13:51 ` Leandro Santiago
2025-03-26 9:37 ` Leandro Santiago
2025-03-28 21:38 ` Michael Niedermayer [this message]
2025-03-28 22:18 ` Nicolas George
2025-03-28 22:23 ` softworkz .
2025-03-29 1:16 ` Michael Niedermayer
2025-03-29 1:45 ` softworkz .
2025-03-29 23:30 ` Michael Niedermayer
2025-03-30 0:51 ` softworkz .
2025-03-30 21:27 ` Michael Niedermayer
2025-03-30 22:23 ` softworkz .
2025-03-29 14:52 ` Leandro Santiago
2025-03-30 0:04 ` Michael Niedermayer
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=20250328213828.GI4991@pb2 \
--to=michael@niedermayer.cc \
--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