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 3E34C4C3A4 for ; Fri, 26 Jul 2024 08:23:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1D2E168D648; Fri, 26 Jul 2024 11:23:13 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2053.outbound.protection.outlook.com [40.92.91.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 05D3168CDE5 for ; Fri, 26 Jul 2024 11:23:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t8h4ewvjs4dxFIYNeJqtBHzGAsomGgwXNmgYhvEBQAsgtP10Eh0jpPv+PQNlrMrMks/5/qDcwya1Sp1Jo3SBoKXph4lovuExtSsQ5YOH7ZfJ20Ea9FofdU0y1isXWt7iSEWYXcAFczykffVFz8TQWHac969S1N/F4KUztwQAPFmZe0iJaJSLW2NPiJZMfXKjBNshOx01CvVGkbixY3MXql+5/UU0Sb4i731u9jqUmFxQIKTouU426iNRsK0hxpiW2V/Srfg0uQtyVI2iUtqzf7vnEJYD4zGhA4ZfNXmOQM4TLSOjLgwCVXCFg7AcofPYQFzKbNJZfYcWp25BknDZ/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JF3vYbgwS+FXgR7DJA1n2bmnO/9GMvZr0wxYKAggHjc=; b=ey/BoPO/yLFy7sKUJcsIha0KAfQhDyXQmXXeBpt9Rhgs+yoFwuCyVS0xOteNBN6xg4/mQbqMQ5fvgk8cFjtbprWG9BW0bC3ti1HagWzJfvGdDoOA+f7ob5M+WftjJOxRwG8Y1y/XNLTkwM53a1vQH9/XwB9H5Dw0T+DcMcxdQBAZ5spkjvXg906oiCQQyOTcl9za9OikK3lP2E1lrDEobYdC9bMKdP2AgVV+7EkDqh37qiOibzBSZkZqEmt4fAWgdaWt9rK/qjzXj41r8MXUWj6Z15i1hPupavJ23dZUceqgjJJ3EcGAzx/RpP7xoWnTOeKPAlOxc+stht84jga8Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JF3vYbgwS+FXgR7DJA1n2bmnO/9GMvZr0wxYKAggHjc=; b=KsK3DPCAHcd19vprZe4OVhn6EVQEso0/QNgXpzy+Tq2qj8jyZdYt4cT68KnUUpQpjvyuPbnH8OOFnE92coUpjr5HYuGRf3eFDtOimKZ+LbjGEJWqJMOscgeT0XqsPHeAfzx4RO95ARz1OFjl1JFAn3tiC9ctTdD52d6imjQkqOUk5YyveD5MqiaXcdOQU/qsxwVV7qhqVGCHKIzwp2saDNRxBVjvPNtGMxLob8iKLaX00WHybL+0NkAi/Wb6yaLwJ9cjRk7RLRdts3KTs7mWOC8Uu8FwFhDBgHIy5xz34xbeBvcRuePjOAk3nLt7XfXU+HI3wlY/GvjtNMz9meWD0A== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0224.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:279::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.28; Fri, 26 Jul 2024 08:23:02 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%2]) with mapi id 15.20.7784.017; Fri, 26 Jul 2024 08:23:02 +0000 Message-ID: Date: Fri, 26 Jul 2024 10:22:59 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240726064216.893951-1-dev@lynne.ee> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240726064216.893951-1-dev@lynne.ee> X-TMN: [O6fzgEeEMZx8jG6VVp+0aQMZteINlHhVlcRZ7OOk98Y=] X-ClientProxiedBy: ZRAP278CA0016.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::26) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <0de6b26f-e2a4-4323-8b56-81837be2b4a6@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0224:EE_ X-MS-Office365-Filtering-Correlation-Id: 723c522f-138a-496d-6733-08dcad4c2a6d X-Microsoft-Antispam: BCL:0; ARA:14566002|461199028|19110799003|8060799006|5072599006|1602099012|440099028|3412199025|4302099013; X-Microsoft-Antispam-Message-Info: opkDd9Fw/Z5Si+Jbgpxd/6hdayAH+4Jyr6Lj3cmHKXzRm/Bi3/PZYhuCErTLXU+vXBZIFCrou7uLYvDWCCpVX0lLyjmy8QT3QK/NR9bkgT2HykDYM3PuJv/R6XUmoJ0UaDeJUI94s9eamJoFO8JTFNkw1XXgqa35BBKTiC0Op+yq+QqulZP9N4vbg8UuTCvIYNJSOVBMw/VMxVl9w2ZF/Te8+xib4AZ9oEl+GbOcfgQMfDZMxfM1BO75/vL3inoX473fvP8xeUK320o0NsINKnLCPCOKSj1cTSwr6GtQDxzCTR7wdMXvjA/+rsspcwRF+cqGpN1WOItp3+LJ1E4sussxh3YDPndBu7H2tu2/cbBxVmUiCf72SmWpdkFg/V8wMwmjXcoHR7PDAq6GbeIF8Hlzgn9U6PtPCGNi4Pw+SyYYqMuXIqkT6eq1nRs5OrFeksi2wQ98MLTZEUHI8ylDDjhympd+eTJHjgtp4ttPZuKTb/I+z4ZQUsj6lWJe/8MaAbKnxBYqKrViNv+ewfYU1WxmYu+RCP1M45cQMHZIgD+y9SGVAxwjlP4ZrbLO5HYqmZO1XPrKdmelzsx7EmZTe9KJGXyBU8Lc0b0dEL+rAN9Txx5lVLm8rsZQXCNghH3NZOzQlvKVecTEgJIQFOAQxVZROxZ2G5+hIX3i4KWs1aNIox6toNRjXt8B9cZvyONm0N+FdrvcS/LzPpOAw2cH4B8lovUU4q/UwaljKcsQZNYDCwDUFTEaGcoJsIRG0vEcJAphjH+g5RGsyBZ3UgqxMRMYTBriS0b8D7l2m3cgDE4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bnJseEpGa0d6YVhJaUdKYzB3SHdydkIwM1d1RFM5a3pLbENMMmVKelJNQlRL?= =?utf-8?B?S1BnVHM1U2FFenZFNE5sa2luNDVWeS80RGxEZExqZVc4c2ZhUVp2d0J6dXVE?= =?utf-8?B?clMrdUtscnE1bWsyZWt3NW1lRHdyNHFlNUxxUWgwZlpRQlozMzRueTR4eHhm?= =?utf-8?B?Y2Z4ZlVJL0RFNVcyOHlUcm9jNW1NdnpEZzcvemdmek5FQlVJSkM3cGVZMjBq?= =?utf-8?B?NVNpVEFWd2Jjdnp0WEdzN3ExRk5MS0V5SG5UZFNzTzh1WUZDSjk5d1hjSE1l?= =?utf-8?B?RkxVSHNEeE83VFRoS1FTVTVIeklUVTdrbG53Rzk5SFVPV2dZNXI0cE4xUEN2?= =?utf-8?B?UWRNTG9xU0RvdDRPa1Z6OUo4MmZqNlRiWlJyckMrQXlNNWdzNGtFeGNDRVB5?= =?utf-8?B?RXJDOXhvcnNnbWdiL21kVVEvRjJSRjgxcWhURXd5NXBFRnE3ZkRuQkszd29U?= =?utf-8?B?c2tnTmUzcXoyeGlIWkZoczN0dDVRcHpIVjluR3BVa3BRRTFLSVlraEUwVXlv?= =?utf-8?B?c3VYZEk4M1ZaRzExbEM2aWdBamJlWW1nWkNlWTA0ZTlYSDJremgwRk5KNnBw?= =?utf-8?B?M1Zyd1FMbGtUMW56TnEyNDc4ZFIrSndZR3ZzYjVWTWxNV2gvUGl5WTdJRUNX?= =?utf-8?B?RVdTNDhPUUh0bndxaUhwWGdnbGY0VmIxU3MvT0oydWJtR1F3N3YvRTdOdE5U?= =?utf-8?B?NlRxaERMcTNqdVVYelE2aXZDc2JCenZNNG4zamVFZXdpSS8rcEpUM2RsVFF0?= =?utf-8?B?TVlJdUkzMkZWWGVBcDNIN3IyVlVTRmZVZ0ZvUmFOSXVCTnhsbCtFWWRMY1ZH?= =?utf-8?B?bkN3cjVKSXA3bEhXOW9maCtXMU41NTVjKy80R0UzTElOQ1pqczYySDdFajlD?= =?utf-8?B?SjJOeWIySnY1a2trcGtPdWVRNktsNTlDOFV0VzlYT28vbUMyd1pjL0RrQlI1?= =?utf-8?B?cjEvR3NOelExQ1JxQ3RxNmZJMzUvNkpVb2JTWC9XSUQwRzYvUVJEMVgxWlZD?= =?utf-8?B?Z2Vzejl3RWNWa01vOHZWeHlVOGxYblp4a1BRd0FqQkgxbzgrSkUyMnhxbHRY?= =?utf-8?B?cHlEM25VVllmVFBwV21LMi9XMDE0c2lSa0RBNDUvMm5Uckg0RVVham16aW1z?= =?utf-8?B?T0hsVnovc1pJSWZxK0JDVkplL1Q4TncxeFowY3FFWURHVWUxUmZ6TWlwNWE2?= =?utf-8?B?aEZ0OElnMHNwa1E4VVQ5RGlHdUdmUUdHSGlNMTVVNnhGeHlEMnF0UXdralFj?= =?utf-8?B?cklaSjMwNTJLb1VBMnB0SmRCTXdpbmxGdEZXcklHUHpPMnVIUkdHSmxqNy9E?= =?utf-8?B?WDJxQTArb3BkWTRnM0lVQWovclNYS3lQekRvamJQbGhvM1FQT3NwWGxwemY5?= =?utf-8?B?dWNWczduLzk3VjRGeEZCTm1jRXdHeGJKOUZZQkJsaHBLZXJTMDhjZXUxSXBq?= =?utf-8?B?YXgvcmhkWlNnNWRKdzdVcHdzK1VmVTM3ZVZLK2V3WFFBM0liOWZGckZtaDVR?= =?utf-8?B?K01Rd2VMZG5kU21iNzlMMGRWV0RwMldMQUxyWXU3ZTVpek9sWVBhblNyb1BI?= =?utf-8?B?cXRXdUhMZ1JWU0VPc2RqVGhTbk5VRlpTN0ovNXE3aktRWEYydG1oOTJEM0hv?= =?utf-8?B?Sjg4b0ZnNkl1OElMWERSQmVkNDRjNEl0dG5RZDMwMTdIdjA2cWdsdzdpS1la?= =?utf-8?B?Qmg1ZGttUkExNytkdHNHOFlLeUZBNFRTbjBzV2JvclFqYk5JdDFRdll3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 723c522f-138a-496d-6733-08dcad4c2a6d X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2024 08:23:02.4442 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2P250MB0224 Subject: Re: [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: , 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: Lynne via ffmpeg-devel: > 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. Really? https://github.com/mpv-player/mpv/commit/54d0763b92f3d8239aa2258f2193eebdc74a91ef is 13 years old and the check would only warn if a logcontext with NULL AVClass* is used. > --- > 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 > Did you ever test this? av_log() expects a pointer to an AVClass-enabled struct, not a pointer to an AVClass. This will crash (it will interpret AVClass.class_name as pointer to an AVClass) when the log is active (when loglevel is high enough). - Andreas _______________________________________________ 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".