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 9A0724794E for ; Fri, 27 Oct 2023 21:01:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A6BD68CB2C; Sat, 28 Oct 2023 00:01:33 +0300 (EEST) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C3D068BFB5 for ; Sat, 28 Oct 2023 00:01:26 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id DB83EE0004 for ; Fri, 27 Oct 2023 21:01:25 +0000 (UTC) Date: Fri, 27 Oct 2023 23:01:25 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20231027210125.GZ3543730@pb2> References: <20231027170446.63684-1-ffmpeg@haasn.xyz> <20231027170446.63684-4-ffmpeg@haasn.xyz> MIME-Version: 1.0 In-Reply-To: <20231027170446.63684-4-ffmpeg@haasn.xyz> X-GND-Sasl: michael@niedermayer.cc Subject: Re: [FFmpeg-devel] [PATCH 4/8] avfilter/vf_scale: properly respect to input colorimetry 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: multipart/mixed; boundary="===============1987116388749060938==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============1987116388749060938== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="7DvVSHOGmMt/Rtix" Content-Disposition: inline --7DvVSHOGmMt/Rtix Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Oct 27, 2023 at 07:04:42PM +0200, Niklas Haas wrote: > From: Niklas Haas >=20 > This code, as written, skips sws_init_context if scale->in_range was not > set, even if scale->in_frame_range is set to something. So this would > hit the 'no sws context' fast path in scale_frame and skip color range > conversion even where technically required. This had the effect of, in > practice, effectively applying limited/full range conversion if and only > if you set e.g. a nonzero yuv color matrix, which is obviously > undesirable behavior. >=20 > Second, the assignment of out->color_range inside the branch would fail > to properly propagate tags for any actually applied conversion, for > example on conversion to a forced full range format. >=20 > Solve both of these problems and make the code much easier to understand > and follow by doing the following: >=20 > 1. Always initialize sws context on get_props > 2. Always use sws_getColorspaceDetails + sws_setColorspaceDetails to > fix the conversion matrices per-frame. > 3. Rather than testing if the context exists, do the no-op test after > settling the above values and deciding what conversion to actually > perform. > --- > libavfilter/vf_scale.c | 186 +++++++++++++++++------------------------ > 1 file changed, 76 insertions(+), 110 deletions(-) This breaks tickets/2939/lena.jpg (color looks slightly wrong compared to reference lena image) [...] --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Asymptotically faster algorithms should always be preferred if you have asymptotical amounts of data --7DvVSHOGmMt/Rtix Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iFwEABEIAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCZTwlIQAKCRBhHseHBAsP q5Z8AJiOZpeE1ifgRklIbq6yB4/bYK/qAJ46R4ZMSsigJYTetdTBCz/R0fvjHQ== =nUI6 -----END PGP SIGNATURE----- --7DvVSHOGmMt/Rtix-- --===============1987116388749060938== 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". --===============1987116388749060938==--