From patchwork Fri Jul 26 06:42:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lynne X-Patchwork-Id: 50748 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:a830:0:b0:482:c625:d099 with SMTP id z16csp281902vqo; Thu, 25 Jul 2024 23:51:54 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWDoIoevKOisrZZRLXYP9jaAADe4/xK/EBIPljxjv0r61VD+ubz+CpFNc0rXSpfY6ii/DHIFHKZ0v8ErMt2WrdgGztLiPN6FLRgcA== X-Google-Smtp-Source: AGHT+IFQ7xQ5Ce4GQL7VWEZMVd8lP64YXLgKR0Q5KVuFQ6XSymENqIiJxXXyfVlHx9dy1gjs1QUb X-Received: by 2002:a05:6512:ac7:b0:52e:9f7a:6e6 with SMTP id 2adb3069b0e04-52fd60838e6mr4578115e87.41.1721976714040; Thu, 25 Jul 2024 23:51:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1721976714; cv=none; d=google.com; s=arc-20160816; b=nb/SHZZIwKSX80F/gQi5MNmL6C+AnrfIGMQqnuD2+sSvFt6MuuzOQ2hxEp+6DLjitT 4C5De5qFn5AH0eI+qZpAmsh4VYddf0lgP3mgCLqDJNjxAzKPTLxEaVyQhCNJ9SIBhZ8P TpUU2rQ6fFWIbjw5FE5vgPoyNxung/JD1mDT+sGPiaZ66IzMCilyoV7Rtg363uQfy9ob zA2KxDck4u42I0c+vpafuwqhc+rlv+m2TbmoMpJcnOvbT+WuX8N7Y2iEbarH/8AtNAlz gxV4tWk4ZhrnTG+8ZuQw4ESCFlm6JWcVeWw5Xcf9YRnTuTvbZbXUkIOEpZRmntuS+2Ej uJkQ== 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:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to :delivered-to; bh=icggI7DQS8yg17cKS6Q7pFJ+rbVpZxlhnwayoSoGF80=; fh=nenT92/WZoU6unXd3J6UhGUdod4piddKfVtctNBOh6k=; b=R5NVTwBCmy/Wre2n2sNwBTj1li4n4LsFXCRD6KZabaXmOT7ZY69qJmDG1WO2V8HdIG 29kNTuGyh4pQaVRUIiO7d4ryqsBZt2HsKUbT1eCWdOkrblnHXXANM3/wfmvk+EEniau+ TEJtVIc3aO/aH8s6k8T36+bfFXrtSlHasc00HrhflGqFiBOU8VPYcOCI8grlijZE5sOE ljAxvJ63aWdTYcYgGUXBDs0P5N2/uveTJlaVwOBGuUgSKuYGCGximdlEW4cLKx5sLmg6 vO4FXU/SRdsSZ1GC8/fvfRFjPOoG7tURDogrcPJOuUvzB7J0CfB98HtF5vZm+R81ktnT pNPA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 2adb3069b0e04-52fd5c04bf6si881744e87.456.2024.07.25.23.51.53; Thu, 25 Jul 2024 23:51:54 -0700 (PDT) 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; 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 AC7FA68D648; Fri, 26 Jul 2024 09:42:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vidala.lynne.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0BFCE68CC49 for ; Fri, 26 Jul 2024 09:42:18 +0300 (EEST) To: ffmpeg-devel@ffmpeg.org Date: Fri, 26 Jul 2024 08:42:11 +0200 Message-ID: <20240726064216.893951-1-dev@lynne.ee> X-Mailer: git-send-email 2.45.2.753.g447d99e1c3b MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavu/tx: stop using av_log(NULL, ) 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: , X-Patchwork-Original-From: Lynne via ffmpeg-devel From: Lynne Reply-To: FFmpeg development discussions and patches Cc: Lynne Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: n2X4jTnvIrJF Its not feasible to add an AVClass in the main context, as it would waste space, as the main context is recursive, and every bit of assembly would need to be changed. While its true that on paper av_log has access to the main context, that functionality is not used as no options are available for setting. No options will be exposed either, and it makes no sense. mpv has recently started warning if a NULL AVClass is used as an FFmpeg bug. While I don't fully agree nor disagree with this, this is a simple patch which fixes the issue. --- libavutil/tx.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libavutil/tx.c b/libavutil/tx.c index 0aae4c7cf7..136d10c374 100644 --- a/libavutil/tx.c +++ b/libavutil/tx.c @@ -30,6 +30,12 @@ ((x) == AV_TX_DOUBLE_ ## type) || \ ((x) == AV_TX_INT32_ ## type)) +static const AVClass tx_class = { + .class_name = "tx", + .item_name = av_default_item_name, + .version = LIBAVUTIL_VERSION_INT, +}; + /* Calculates the modular multiplicative inverse */ static av_always_inline int mulinv(int n, int m) { @@ -645,7 +651,7 @@ static void print_cd_info(const FFTXCodelet *cd, int prio, int len, int print_pr if (print_prio) av_bprintf(&bp, ", prio: %i", prio); - av_log(NULL, log_level, "%s\n", bp.str); + av_log((void *)&tx_class, log_level, "%s\n", bp.str); } static void print_tx_structure(AVTXContext *s, int depth) @@ -653,7 +659,7 @@ static void print_tx_structure(AVTXContext *s, int depth) const FFTXCodelet *cd = s->cd_self; for (int i = 0; i <= depth; i++) - av_log(NULL, AV_LOG_DEBUG, " "); + av_log((void *)&tx_class, AV_LOG_DEBUG, " "); print_cd_info(cd, cd->prio, s->len, 0, AV_LOG_DEBUG); @@ -818,10 +824,10 @@ av_cold int ff_tx_init_subtx(AVTXContext *s, enum AVTXType type, AV_QSORT(cd_matches, nb_cd_matches, TXCodeletMatch, cmp_matches); #if !CONFIG_SMALL - av_log(NULL, AV_LOG_TRACE, "%s\n", bp.str); + av_log((void *)&tx_class, AV_LOG_TRACE, "%s\n", bp.str); for (int i = 0; i < nb_cd_matches; i++) { - av_log(NULL, AV_LOG_TRACE, " %i: ", i + 1); + av_log((void *)&tx_class, AV_LOG_TRACE, " %i: ", i + 1); print_cd_info(cd_matches[i].cd, cd_matches[i].prio, 0, 1, AV_LOG_TRACE); } #endif @@ -931,7 +937,7 @@ av_cold int av_tx_init(AVTXContext **ctx, av_tx_fn *tx, enum AVTXType type, *tx = tmp.fn[0]; #if !CONFIG_SMALL - av_log(NULL, AV_LOG_DEBUG, "Transform tree:\n"); + av_log((void *)&tx_class, AV_LOG_DEBUG, "Transform tree:\n"); print_tx_structure(*ctx, 0); #endif