[FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable out-of-tree filters
softworkz .
softworkz at hotmail.com
Mon Mar 31 01:23:54 EEST 2025
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Michael Niedermayer
> Sent: Sonntag, 30. März 2025 23:27
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable
> out-of-tree filters
>
> Hi
>
> On Sun, Mar 30, 2025 at 12:51:46AM +0000, softworkz . wrote:
> [...]
> > When the branch to merge has the same baseline with only the
> additional commits on top it works fine of course. That's equivalent to
> the patchsets on the ML needing to be created against the master branch.
> > It also works fine for larger merges like when you have a beta that's
> far ahead of a stable branch and merge it finally into stable.
>
> > But merging something from an older and possible diverged baseline on
> top of a newer baseline is a different story.
>
> The key word here is diverged.
>
> between mainline and the module branch is a common ancestor
> mainline has of course moved forward from the ancestor
> and the module branch contains the module and its dependancies
> between the ancestor and its HEAD. Thats how it should look.
>
> What you suggest is, there is something additional on the module branch.
> That is not possible nor will it work.
>
> For every system, the modules must be kept free of conflicting changes.
>
>
> >
> >
> > > can you show an example with command line git ?
> > > like a simple sequence of commands that result in problems, that i
> can
> > > replicate to look at what happens exactly
> >
> >
> > Sure:
> >
> >
> > git clone https://git.ffmpeg.org/ffmpeg.git
> >
> > cd ffmpeg
> >
> > git checkout master
> >
> > git remote add softworkz https://github.com/softworkz/FFmpeg
> >
> > git fetch softworkz
> >
> > # Test 1
> > git cherry-pick 39bb78e449a1df67ed5b3b0fafa86af7e115cb36
>
> I suggested "git merge" not cherry pick
>
> splitcc is added into doc/filters.texi into a section you added
> in prior commits which have not been picked
>
> git merge 39bb78e449a1df67ed5b3b0fafa86af7e115cb36
> in fact merges doc/filters.texi successfully while cherry pick fails
> (other unrelated commits cause conflicts in other files but these would
> not be part of any "external module")
>
> the same happens with libavfilter/Makefile
> git merge cleanly merges it, cherry pick fails
> in allfilters.c case theres a API change (FFFilter/AVFilter)
>
> thx
Hi Michael,
git merge is better for those single-line changes in allfilters but it can include unwanted changes as well.
Another example, avoiding the API changes:
git checkout refs/tags/n7.2-dev
git switch -c b_n7_7_dev
git merge 7dbb6890f2eb6035eb9123ce2039f6dbbc082b3d
still causes a conflict in configure.
Even though the commit is from a non-diverged branch
(https://github.com/softworkz/FFmpeg/tree/add_filter_test)
sw
More information about the ffmpeg-devel
mailing list