From patchwork Fri Nov 12 19:24:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 31395 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp2250454iob; Fri, 12 Nov 2021 11:24:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJyT7wOR8SFlBXbhEruVisRVLlwQXCJZWLkX8qesCBjr/fSWMyr5LhugTJ4y/C4bLnBnlKZr X-Received: by 2002:a05:6402:12c9:: with SMTP id k9mr23998932edx.364.1636745058509; Fri, 12 Nov 2021 11:24:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1636745058; cv=none; d=google.com; s=arc-20160816; b=Qf1DdnbDDtvHMD+oPSAWNNMfMF1Ykc7Rik9Hx/Dz7yKZLWKRsBkDWw83YoGCql/5zW v0hMUzXStHXzRxiwuDmosIHSQTQfYpfi/J2QhQlEWGxK0DH0TtmOE0NOGfHys/XAUSQK 1iag+m44iFVeGkfa5Hj8gkAWwJoDku0dhYs6ESMrVL5TdZ1XK7u4l3PvXtJN9qfkiPpP IU8j3YQ1mLI4MHgUoCEmYbHoEdQD2WMfwGbKNFxs3wzVL4qK5ZRCY3V/1ThGroAVKZ19 LogmJr4qahuq3lFlc62XI5ocwVsn6pa+aMLTnm78rQ8SzjKpWSukgPZZBsy5aNUsdplS 8lTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=9yEEtD2YZQb6CQN42tbRD/iB2rBgjPWAtJetE88R3rA=; b=u8Utg7ex1yyGaYID3KJ9PXi40e6Lv+fH6RzKYb3VLxoE9r8KdjLWAdkjzLk1efpsaf gLO5L+1O8pSmI4br34ktIpBD/1evUVXynzFcWtprW8R7zOR5zY86B527gbLRC6Lc2ruE /5msFSYNo43b1MW7/vrdJBH4p76flerm3do1ZPtSRVgXZ1r3K1uJwkS7ndor2Qb7cQjM aN2SGCDPr+K7hvT6d1mGyJAd+/TsNGKCUFmbOOfo3QOQro+6oVZ17whk3uINRRoR9lt2 88AVaUHp0fhJRJlUDpU+xWrJH5loYppnjxX0Ozg+VzI6wIywlvSR12wQfvP6tZajhqgp rqZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=uwI+v1t7; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x16si12551892ejo.765.2021.11.12.11.24.17; Fri, 12 Nov 2021 11:24:18 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=uwI+v1t7; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B3DD68A853; Fri, 12 Nov 2021 21:24:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4B24B688180 for ; Fri, 12 Nov 2021 21:24:06 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 234C848C43; Fri, 12 Nov 2021 20:24:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1636745045; bh=nmwegUI9JdxoATABY9DHCxni3jII1HGhXB3ss8Xuhtk=; h=From:To:Cc:Subject:Date:From; b=uwI+v1t7tvJtxmx/TEneR7GAswSsAd7wLg0DZRV5HHwgDL+on6q0+ACftXtRrVcpE lBA7PqWoeBAi4p4zB4PCdbgLAF/2OFkezRJPGfOBqcESS5RwelIiRdn0vQK+pO6gK6 xrkjjUQMP37F2J/DRaDVv5VFBB8h46/3n+bLP+Ws= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Nov 2021 20:24:02 +0100 Message-Id: <20211112192402.75720-1-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavfi/vf_libplacebo: pick log level dynamically 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 Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tFUYbwHTw628 From: Niklas Haas In particular, allows users to go all the way up to PL_LOG_TRACE if desired. (While also avoiding some potentially unnecessary callbacks for filtered messages, including e.g. the CPU cost of printing out shader sources) Response to runtime log level changes by updating it once per filter_frame(), which should hopefully be often enough. --- libavfilter/vf_libplacebo.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c index 0590e99093..ede6888bd3 100644 --- a/libavfilter/vf_libplacebo.c +++ b/libavfilter/vf_libplacebo.c @@ -116,6 +116,18 @@ typedef struct LibplaceboContext { int num_hooks; } LibplaceboContext; +static inline enum pl_log_level get_log_level(void) +{ + int av_lev = av_log_get_level(); + return av_lev >= AV_LOG_TRACE ? PL_LOG_TRACE : + av_lev >= AV_LOG_DEBUG ? PL_LOG_DEBUG : + av_lev >= AV_LOG_VERBOSE ? PL_LOG_INFO : + av_lev >= AV_LOG_WARNING ? PL_LOG_WARN : + av_lev >= AV_LOG_ERROR ? PL_LOG_ERR : + av_lev >= AV_LOG_FATAL ? PL_LOG_FATAL : + PL_LOG_NONE; +} + static void pl_av_log(void *log_ctx, enum pl_log_level level, const char *msg) { int av_lev; @@ -177,7 +189,7 @@ static int libplacebo_init(AVFilterContext *avctx) /* Create libplacebo log context */ s->log = pl_log_create(PL_API_VER, pl_log_params( - .log_level = PL_LOG_DEBUG, + .log_level = get_log_level(), .log_cb = pl_av_log, .log_priv = s, )); @@ -447,6 +459,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) goto fail; } + pl_log_level_update(s->log, get_log_level()); if (!s->initialized) RET(init_vulkan(ctx));