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 6917947479 for ; Thu, 9 Nov 2023 12:25:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BB04C68CC41; Thu, 9 Nov 2023 14:25:44 +0200 (EET) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B3FF968CBAB for ; Thu, 9 Nov 2023 14:25:36 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 9B3424151A for ; Thu, 9 Nov 2023 13:25:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1699532735; bh=MYtk71I8583tUNvB7yGTOAdw/h5g5T5op7Pnm4LEA1I=; h=From:To:Subject:Date:From; b=E5w2XOdbdhJ4os1njSCsUoG4BwpxQ+TR2naUlKHzrOPT2t5eMp3Hyalidlz27M9rg EdUiI8KMSFIaeIwrwaWh1aJ1qLd8EALDnHuIZgnE1fjQ94yLRcoa6kMh/P2x2VhOxi CH/8Lj96iC6n0EiltpzVb2sDgyr9wC0vm1nhYZ08= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Thu, 9 Nov 2023 13:19:32 +0100 Message-ID: <20231109122534.124157-1-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [RFC PATCH 00/25] YUVJ removal + filter negotiation 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: Following up on the previous attempts at YUVJ removal, this series implements full filter negotiation. It is WIP because I still need to go through the remaining AVCodec (which are not covered by FATE) and properly tag their colorspace and color range support. (See patch 19/25) The rest should be good, though, so please feel free to review them with scrutiny. I decided to combine YUV range negotiation with YUV colorspace negotiation. Several important points: 1. We now explicitly ignore YUV metadata for non-YUV (RGB/XYZ/PAL) formats, as these have no hope of being useful. In particular, we force the colorspace to AVCOL_SPC_RGB, mostly for sanity/consistency. 2. We currently continue treating GRAY formats as forced full range, which is the swscale status quo. I have a separate series that adds full range negotiation to grayscale formats, but it is out of scope of this already ominous series. It was a delicate balancing act to get the new filter negotiation API integrated into all core filters (in particular vf_scale and vf_buffersrc) while maintaining forward and backward compatibility and not breaking FATE, but I managed to find an order that works, by first adding support to vf_buffersrc to make sure accurate metadata is available downstream _before_ we insert any conversion filters. _______________________________________________ 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".