From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5BF964965B for ; Sat, 15 Jun 2024 22:19:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D095568D65E; Sun, 16 Jun 2024 01:19:37 +0300 (EEST) Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F04E68D4BA for ; Sun, 16 Jun 2024 01:19:31 +0300 (EEST) X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.11.12] ([95.33.108.156]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M1HZi-1sFrei1gYk-000UtF for ; Sun, 16 Jun 2024 00:19:30 +0200 Message-ID: Date: Sun, 16 Jun 2024 00:19:29 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: de-DE, en-US To: ffmpeg-devel@ffmpeg.org X-Provags-ID: V03:K1:9oXMJ5mnZonJCOehYnXIXK7Z/c7VAqXAn++5jjkZS6gEL2EAqHL 4cH1Z0z77iZpy5da4RoAVBZ+pkfmI1/qFQTED6WU65BbC185Go5SXgclYn7a8prDTVy8n5o yuEQVKDwDzAsg8p7US5afAP7mB/D43v0luLCpKGrGbX8iWm6m+tiVCZx4JgKoD/yI/chF/G VmefLHF3qnhMrIMQOH1sQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:WvxllqZBhto=;FObINtbjt5VTARM65br9U2FOnDI bCUM6m7kVzf2OoonRmgcKlYbBpsLCcr2/Ysf1UoTRLZ14qu1h9W1WtuMIUQ0bzVifH6A1Az+N CjtY6EpmbjwAIKsksFiomXlhkM5JVEuzJTdLOJRg8vUStb2GDAiF8BdZGNO3Qj669iil/mJ1V JJKFClL/ciz4dgTg0K0tAdTsUWpjCJOu2hq+iFGpXS6riqC0Dfu1oYxahlScDf7rdb9fZX+Xs c2i4RFhtbkj0LyteAd6TP+ymK+S17szjtLfCuT5WWVxuBoO457R3xLh6PEIEWADLLsLUwm1mi EkBsam+Cmvr1Q28nnBSzMhfMNSNFp3HIQ4/qjnMfId3xUbMQHWK1ZB4fBzWKOBLfyz6rPEm5W AC4vjLziaj5vjORaABwMuuWOp9UySF81x9FApoHiiURAceW7SIJAEnNDzPTJVQk7dmeIl00cZ 7zFYtneyCSZP1IbF2MxSlM0la6bhvrHfnw9ggQPYzuyE/FM+j3YVfAwckWSUGjKATIi+t7Ljx tQYcCsnd550BxuvCqgd6D2c8Dobf+tzKxtTMrasYosvqF7ZpMCZP0hGrI1O8p5lkOxBJ3DUt1 tCkEzvGeP+qkejxbztbzbWwI2NA1tXXIpZMyBqEc56Ov3UGzsK/OcNa8RPcefjM3TKO9qmf9Y fm/PpRLyTWPT2XPQkRZBPeDeMS36PrfNqQSjZBuxK5Z+xeQh4tOVUIRJBylugk7U3pSrRsgTb uFnMTrDhLwvWfDAbfXekYPJvN1SVB/DXZPc8Q1i5dIlMeeq3B+1l/jhWh2YXQB46//99W2jMm JDnx4y5oukE1niqsSMuw8MmUK+RJYhl7sDcwSUEsAP9+g= Subject: [FFmpeg-devel] libavformat / vapoursynth update X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Stefan Oltmanns via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Stefan Oltmanns Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Hello, I updated the VapourSynth input module from the old API to the "new" API (the "new" API was introduced 4 years ago). The greatest advantage of the new API is, that it requires only a single import from the VapourSynth library, optimizing it for runtime loading instead of linking to the library during the build process. Currently almost no one builds ffmpeg with VapourSynth enabled: Understandable, because VapourSynth is not just an external library, but an entire application with its own dependencies. Making ffmpeg load the VapourSynth library at runtime only when a VapourSynth script is opened would allow building ffmpeg binaries with VapourSynth enabled, that do not require VapourSynth to be installed on the user system (unless the user would want to open a VapourSynth script). I have already successfully tested this approach on different platforms (Linux, macOS and partly Windows). There are a few options on how to do it exactly: -Remove linking at build time all together and disable VapourSynth on platforms that do not support LoadLibrary or dlopen (as VapourSynth is based on plug-ins, on platforms that do not have these function it won't work at all) or make it selectable at build time. -Include the header files directly in ffmpeg (VapourSynth is LPGL 2.1 or later just like ffmpeg, so no license issue), this would allow for building ffmpeg with VapourSynth support without the need to have VapourSynth installed on the build machine. The alternative would be to use the header files installed on the system if available. (In case additional files should be avoided, the header files could of course be copied into the vapoursynth.c, or at least merged into a single header file). What do you think about this? Should I prepare a patch for this? What option should I choose? 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".