Hi Michael,

> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of
> Michael Niedermayer
> Sent: Freitag, 28. März 2025 22:38
> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable
> out-of-tree filters
> 
> 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, ...
> 

[..]

> 
> 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

Git merge only works when there's a common baseline and the only difference is 
the filter commit on top that you want to merge. It cannot be used when there 
are different baselines, e.g. the filter is on top of a the latest master 
branch and you want to merge it into an older (release) branch, as that would 
add all the differences, not just the filter.
What you can do is cherry-picking the commit which adds the filter, but the 
bigger the differences of the baseline, the bigger the problems when 
cherry-picking. 


> 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

The changes are basic in fact, but the trouble it is causing each time is 
beyond basic.

To give you an idea of what I'm talking about I've recorded a short screencast 
to illustrate what I mean:

https://gist.github.com/softworkz/750da15adb259fa13c6b32277647d54e 

Thanks,
sw




_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to