From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B92624BFE7 for ; Mon, 6 Oct 2025 12:21:22 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'NOBxPDQF2VJnaL/ZGsFyyh9lEq/LbpcwsgNqFfl2bG4=', expected b'2y82ihpfZjzYJOj58x7JFePt9eX/1yp0lNSf9btaFCA=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759753274; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=NOBxPDQF2VJnaL/ZGsFyyh9lEq/LbpcwsgNqFfl2bG4=; b=umxlEOVpL37Og6w9+701Ic35YUY1yBRJ0WFuZ6x9ShLaMebFcAWRSRuH4XhkE2rkIV8DT IMM8VF/HfnUjJFcKeC5FkRDSrm8kZa5L0jLYuh2G4Jco1udJexVQ/Wdsh0InVbK/mJVKThV t2WvogT3gRZd/dfizcDh+1yDFP9yRfADO8zeGu3VhphSVt/Ga/QGt5DQ/nHO+o0ayCZ9Ko1 PsFEPk8VciHcfWNO+3Uqoi8wmzYQHjcYBeheM3Q8SK9SfwDy5omXPqaZUeu8s1YYR99rPCx F9wzeNR0ASCp7wbdkKcF8XPJ4Gk/E87udqJWEVJnp8fevR7oFuYQNwNEv1Jw== Received: from [172.18.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 81DC068F006; Mon, 6 Oct 2025 15:21:14 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1759753256; b=cY75YBDRUUnoXPQ5cfsWwlniwiNQj1dMKO2AimFra8wTOiWkqlFf1qfGScXHSR7+HZjV/ XJSZHblnYitkJcw5xrD0RMQYs3l6GjNjzFXUNICl2mn07RI4Kjn7alSJ2RCJQGVcrfc4G58 PAZFApnNxg4g+zXNT0/1MHpX/lAQ7SWIA0A+Lfg/I4jze2XUmIHrfNrOtx9EIHDfrsW5SPC BkSt+uB2zozc1Tz9RapDCsvymw+oo44ssRhvyV84uw/jQ6uaoFVNHs73Lo4D6NvU2fNC8/o FY1APVwjogYumS8yKEHhVxuNQXlRSZeSjCnfyvPrP9U42B51TYtaPXfejsjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1759753256; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=7A23dAgjJ0OoGexgrZiVhW1+5aYxmEhY6KpM0dThaL4=; b=NudOKDrs28hA9jtfli+SiR83EfdLctgsvBnVA2fFAtxM9nWLf6FQMV4Zf1oSUT5/hrzc7 4k6C3sLmEvMaHFqd3g3aEmaunWmp94AgTQlr/5yke/AFLWvRfEuTsTPXHkzsY3ebM7BKG2H b4KXHsPi7NPzZkREIrjD4M9M6KKmfPa/cqkfmGUNnRpZ97wASDj427ch11eTQK8tSeHaxX5 /R1+7n/tdFcQA4yG6LOYlzjr3/urKY0zW4WpoSAxe1IeFXkOz66CUZ2khvksOolXaSl5R6K 63iQNnEkKkaPVnBf3WPFS9loHh7VeDMaPRTrsQQo+lBbnT5iIIcK0DpSF42A== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1759753249; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=2y82ihpfZjzYJOj58x7JFePt9eX/1yp0lNSf9btaFCA=; b=Q7no2UG1/yysBR6C1Ns8heNV+GWBXVNAx4KU4OQj9ra4+JkAuPIG2h22+gwyRWDp4mg3N /Al7lJ4VKwxUy6E8Bh+QAf/e2Jl5Fv69WhueYLAvP9jOFFptQRQAVkTQhq+NppZVjaFOPjY coGigoThyz6FAX9dMHUwDjJhfjjkmmlrZNVomNTXr/kd5SU69PvbEDTtm2KWY0pROZxlDX9 eEd+t3NeYcp6QAS3eJ9rZkLxC28N71K1PhyQmzwS3fCeTZ03a6XIX95wpQmMDap8Bnagmhu DkJe0wf5ebxXJVQOkwSI3xbniDfmRKZVRLzHi+OogCptBg2NfsXx/tgDH7Hw== Received: from be50bb5a3685 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 92D2468EFC5 for ; Mon, 6 Oct 2025 15:20:49 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 06 Oct 2025 12:20:49 -0000 Message-ID: <175975324971.65.13114031631911795892@bf249f23a2c8> Message-ID-Hash: VYMLN7VKP3MZ7IM65AUUOCFKKC4P3W64 X-Message-ID-Hash: VYMLN7VKP3MZ7IM65AUUOCFKKC4P3W64 X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] libavfilter/vf_libplacebo: add `temperature` option (PR #20650) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Niklas Haas via ffmpeg-devel Cc: Niklas Haas Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20650 opened by Niklas Haas (haasn) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20650 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20650.patch >>From 7f9a5438fe3589eb33189f3f91a32021f6b2326f Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Mon, 6 Oct 2025 14:06:30 +0200 Subject: [PATCH] libavfilter/vf_libplacebo: add `temperature` option --- doc/filters.texi | 5 +++++ libavfilter/vf_libplacebo.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/doc/filters.texi b/doc/filters.texi index 262e7ad009..5863041d1a 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -16795,6 +16795,11 @@ coefficients for RGB inputs. @item gamma Gamma adjustment, between @code{0.0} and @code{16.0}. Defaults to @code{1.0}. +@item temperature +Color temperature adjustment. Lower values make the output warmer/redder, +down to @code{1667}, while higher values make the output cooler/bluer, up to +@code{25000}. Defaults to @code{6500} (neutral white). + @item cones Cone model to use for color blindness simulation. Accepts any combination of @code{l}, @code{m} and @code{s}. Here are some examples: diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c index 2b3738c8e0..2d8dd29be0 100644 --- a/libavfilter/vf_libplacebo.c +++ b/libavfilter/vf_libplacebo.c @@ -261,6 +261,7 @@ typedef struct LibplaceboContext { float saturation; float hue; float gamma; + float temperature; /* pl_peak_detect_params */ int peakdetect; @@ -446,6 +447,8 @@ static int update_settings(AVFilterContext *ctx) .saturation = s->saturation, .hue = s->hue, .gamma = s->gamma, + // libplacebo uses a normalized/relative scale for CCT + .temperature = (s->temperature - 6500.0) / 3500.0, }; opts->peak_detect_params = *pl_peak_detect_params( @@ -1723,6 +1726,7 @@ static const AVOption libplacebo_options[] = { { "saturation", "Saturation gain", OFFSET(saturation), AV_OPT_TYPE_FLOAT, {.dbl = 1.0}, 0.0, 16.0, DYNAMIC }, { "hue", "Hue shift", OFFSET(hue), AV_OPT_TYPE_FLOAT, {.dbl = 0.0}, -M_PI, M_PI, DYNAMIC }, { "gamma", "Gamma adjustment", OFFSET(gamma), AV_OPT_TYPE_FLOAT, {.dbl = 1.0}, 0.0, 16.0, DYNAMIC }, + { "temperature", "Color temperature adjustment (kelvin)", OFFSET(temperature), AV_OPT_TYPE_FLOAT, {.dbl = 6500.0}, 1667.0, 25000.0, DYNAMIC }, { "peak_detect", "Enable dynamic peak detection for HDR tone-mapping", OFFSET(peakdetect), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, DYNAMIC }, { "smoothing_period", "Peak detection smoothing period", OFFSET(smoothing), AV_OPT_TYPE_FLOAT, {.dbl = 100.0}, 0.0, 1000.0, DYNAMIC }, -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org