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 0C3C24A210 for ; Wed, 24 Apr 2024 11:03:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D29A968D36E; Wed, 24 Apr 2024 14:03:11 +0300 (EEST) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2F63468D0D9 for ; Wed, 24 Apr 2024 14:03:05 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1713956585; bh=tIIus9YttFFxC9t7ayxCgZxVvzIV7Xw+cAGE9jRYvQY=; h=From:To:Subject:Date:From; b=sKsDV4U4FeP6GabxZ+LFzqbtpJkhaqv2Mk9HoRLR4J03BtppnnLwK/hBHyXCe6w0Q QGQwxHPoXcdLSNM18pixx5DXUfD/mv1ZFnnPgGBK9wcpLmGitN7FUJqP2baB44lch7 kpbsMQj0C/ai2EGVGSwn8VsWeHvXMM1GDA3rA0mc= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id EBD6340356 for ; Wed, 24 Apr 2024 13:03:04 +0200 (CEST) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Apr 2024 12:51:55 +0200 Message-ID: <20240424110257.38715-1-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/5] replace scale2ref by scale=rw:rh 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: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: As discussed in my previous series for fixing scale2ref[1], this filter is fundamentally broken, and the only real fix would be to switch to activate(), or ideally FFFrameSync. [1] https://ffmpeg.org//pipermail/ffmpeg-devel/2024-March/323382.html The main thing making this difficult is the fact that scale2ref also wants to output ref frames to its secondary output, which FFFrameSync does not support, and which is ultimately at least part of the root cause of trac #10795. Since this is in principle completely unnecessary (users can just 'split' the ref input and have it be consumed by vf_scale), and to make the design of this filter a bit more robust and maintainable, switch to an approach where vf_scale itself gains the ability to reference a secondary input stream, using the "ref_*" series of variables. This makes the current [i][ri]scale2ref[o][ro] equivalent to the only slightly more verbose [ri]split[t][ro]; [i][t]scale=rw:rh[o]. (And conversely, it is no longer necessary to use nullsink to consume an unused [ro]) Incidentally, I think it would be nice if lavfi could *automatically* split filter links referenced multiple times, so we could just write e.g. [i][ri]scale=rw:rh[o]; [ri][o]overlay[out] and have it work. Maybe I'll try getting that to work, next. Either way, after the deprecation period has elapsed, we can delete scale2ref from the codebase in order to make vf_scale.c IMHO significantly simpler versus the status quo. _______________________________________________ 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".