From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id C37154BA70
	for <ffmpegdev@gitmailbox.com>; Fri, 28 Mar 2025 21:38:40 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EEF48687C3A;
	Fri, 28 Mar 2025 23:38:35 +0200 (EET)
Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net
 [217.70.183.198])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 373C1687A42
 for <ffmpeg-devel@ffmpeg.org>; Fri, 28 Mar 2025 23:38:30 +0200 (EET)
Received: by mail.gandi.net (Postfix) with ESMTPSA id 511E644256
 for <ffmpeg-devel@ffmpeg.org>; Fri, 28 Mar 2025 21:38:29 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc;
 s=gm1; t=1743197909;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=ZFhS6dL1BU9d27WqAHePpHedfDA5+Sne9gCJSn/+Sw8=;
 b=APotHFIARhYsXCmIEyzLZZiqkQhq/+mGdZa6T4ZLybrnlNIpbwxom9GYO2hghATwRLeheb
 UIN2rw3XOH04IBGH+Y5Pqa6cLtSBNAZ0Mos/ZPapqaoECbJWwtMJ3lcRQ+5D0vZk1Iomuy
 UlVfnz4gWDHw+XRc4VBh+YGkAgtJF25trjLCZDaJdY4BLF8PRrKT2nGZYshJ8bsLe8LGNn
 svc/IzZjoIqeaSthTenJS0oRZwsJg3YkkvoEw4BimaZjjiNph77LPgycsZCkmzbnRqdagk
 wi9eRtJRLkhJp8VyF6QT7UCtX1AMvwj1UOkdu0BcnwpOeut/dxJmBdAdQVS9yQ==
Date: Fri, 28 Mar 2025 22:38:28 +0100
From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Message-ID: <20250328213828.GI4991@pb2>
References: <6bef7ee3-6e0b-496a-9018-ce02d5e8cd63@gmail.com>
 <2477728b-6217-446a-9a15-830f028baea0@gmail.com>
 <8bdfe841-080b-49f6-913b-7577d03a1214@gmail.com>
MIME-Version: 1.0
In-Reply-To: <8bdfe841-080b-49f6-913b-7577d03a1214@gmail.com>
X-GND-State: clean
X-GND-Score: -85
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddujedvfeelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdduhedmnecujfgurhepfffhvffukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpefoihgthhgrvghlucfpihgvuggvrhhmrgihvghruceomhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtqeenucggtffrrghtthgvrhhnpeejudehtdelteeileelkeeuueehkefgieehieekueehgfetheehiedtjedtveegudenucffohhmrghinhepghhithhlrggsrdgtohhmnecukfhppeeguddrieeirdeijedruddufeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeguddrieeirdeijedruddufedphhgvlhhopehlohgtrghlhhhoshhtpdhmrghilhhfrhhomhepmhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtpdhnsggprhgtphhtthhopedupdhrtghpthhtohepfhhfmhhpvghgqdguvghvvghlsehffhhmphgvghdrohhrgh
X-GND-Sasl: michael@niedermayer.cc
Subject: Re: [FFmpeg-devel] [PATCH] avfilter: Proof of Concept: enable
 out-of-tree filters
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: multipart/mixed; boundary="===============0399268487332996236=="
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250328213828.GI4991@pb2/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>


--===============0399268487332996236==
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="CXTLit6xjCMXFd2M"
Content-Disposition: inline


--CXTLit6xjCMXFd2M
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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:
>=20
> - No external tools are needed by the build system.
>=20
> - The external filters should be put in ext/libavfilter. Anything there w=
ill be included.
>=20
> - The build system will execute a file called `configure.sh` in the direc=
tory of the external filter. This script has access to the functions and va=
riables defined on `./configure`, as it's included via `.` on sh.
>=20
> - 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/l=
eandrosansilva/ffmpeg-extra-filter-example . If you are unhappy with the ex=
ample code hosted on gitlab.com, I can move it elsewhere where it gets easi=
er for you to have access to the code.
>=20
> - Essentially, an external filter is composed by at least a `configure.sh=
` and a `Makefile`.
>=20
> I really hope this can be the last iteration, as I ran out of ideas on ho=
w 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

[...]
--=20
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

--CXTLit6xjCMXFd2M
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iF0EABEKAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCZ+cW0QAKCRBhHseHBAsP
q3FeAJ4hWAaj5BMk+OzJDB/d7bhfoTQ5AwCffzS6E05PiZD8Eu7cbJ3gwPw3jEM=
=w0h9
-----END PGP SIGNATURE-----

--CXTLit6xjCMXFd2M--

--===============0399268487332996236==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
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".

--===============0399268487332996236==--