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 A7AA74B9A3 for ; Mon, 29 Dec 2025 08:19:43 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'6AviRKvRxU1T0qupKMSa9YfytOddNnthbKssbq6RPqo=', expected b'Q3E4/2qwaqWAUtLJMausjPs83PHjx6L4p49ncy/zAWU=')) 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=1766996363; 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=6AviRKvRxU1T0qupKMSa9YfytOddNnthbKssbq6RPqo=; b=s4V0cWDc8WJytB06U85arJ17BZ90QE/OePgbgmyYfcp80RBJW939dTHWMyl7jftRCGaaz LX3vTA6n+GMb11b/UQXPsJrdko0UlxBWuWEaJCfEv1eG2dtDF1OSABF931LDxU//cfgbV9T ZmfDiPeB2yuGXyw330pFn5rwP1QX8gDtJVew/s+EOCj86ppxiU8P9LFTtU5sbb9UyATgP9Q 44a5TJysRgqGeLpPsWeLpvK904jHBtPj6hc/HcOFtUe3vqx1YYUB2My5Itx+3gcmjnQ5+ET 3Lysh6DpyL9+u388LNZsFTTqpBxsylQVpowBiQFvfp7BtH591COjViGxbH1Q== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6327E690C56; Mon, 29 Dec 2025 10:19:23 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1766996345; b=aEB3DDAb/zohEsrhl/dbB8WkctuaDepG1ZCrUiP8hSFZPADevfKdaHoICE2X5KzKxcouv xLsxnt6Mgm67mYUT51KeUfuOet8IkU52THBN7MSLJVFbWqAogmOLbX3BNK6xkPiPuUtiYad rkoxyXbhx0V6wB+b+yGtPPH2HeUZB2Taw7wBl4BAx92OiyZ6QcMz9m4Tiqbqea3O/poXExl 7ntPKElsoweRhpTQfhfWJIRvsNjm5BH3G9rMxxHerT4jeUqPxBUbUIXYWUwQCtJK+Y2y2dL REWXDPt42/LGW25Y8MLoJm9RaknNfF/TFoubZvjxwy1u7n91MnYgv4fhez6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1766996345; 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=lqC84xlOr+5CTtTnPR/oKjMN47HiM4FJw2hDD1aSnMc=; b=nJwBZ9dk1Pfw3puvE7mXrROwBVg3KqVKEcf3ls5oT8CXQ+JY/IiqZbmScWFTzmKLW1G+D ByvU2y28JY7LVm4W88uopkmQ6COz1lwOIavbqH0IL67t3r+F8qyWewNgSWeiMdbaI/aU7ww 913a2h5QIiPUgHCdyx/6KYJGolC378SVu9gb1iG0f6bm0wGuhqUwa/RpFa7fWDwmtDT6gnO hr2cSu8NsjrZMHZJf+NNxDgixoK9oDg4BXWAaZzLLjVWxNJJp4bddET7pWeMUFKqIPvwss+ CIWiztHEGla96oa9C5DqNxmwIzUpZwBeGvrDqCr2tm3zOzZKDt0aeAm9pEkA== 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=1766996336; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=Q3E4/2qwaqWAUtLJMausjPs83PHjx6L4p49ncy/zAWU=; b=2umRVsIPwan6Uv8tO7XfDJpCocVuTkMDDGk1kw3p9hWn5JEVp4PuGo2EiVj153KUN/2H8 RKoTxXiS9B3E30TrNzRQxnPRTZSv5ohpC8VeoEbSI0tkV9BEIvDuPaSwGy5WsZoDRVL5P1i IqI6OC1jinihex5aJ86dOG9JQU/VHa2YdjA4QqVJmoUrgbaVyY8pADKXsYi6miJGV/usLp/ WAXPG+cWhdu4YOWmEElFvix6/uMsgJwvMVxjhHkuEaWw4vjgaPU1IdP4srghgmDI3UvvRhT xg/ZWQbCoOm27RD2gfmB0ph6cEJYpbYlMPmwC+N1GcvPJRjg0om/Rd1+WNwA== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 5406D690BA0 for ; Mon, 29 Dec 2025 10:18:56 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Dec 2025 08:18:55 -0000 Message-ID: <176699633646.25.11834066859251253649@4457048688e7> Message-ID-Hash: YWUKZYSM3JHASGLPF2YDUNOFSVVWARCG X-Message-ID-Hash: YWUKZYSM3JHASGLPF2YDUNOFSVVWARCG X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation 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 X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: fix build failure on riscv (PR #21308) 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: Zhao Zhili via ffmpeg-devel Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21308 opened by Zhao Zhili (quink) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21308 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21308.patch libavcodec/mathops.h is a private header file, which can use private symbols inside libavcodec, e.g., ff_rv_zbb_supported. With shared build, we got fftools/ffmpeg_filter.c:2687: undefined reference to `ff_rv_zbb_supported' This patch also fixes integer overflow issue by rewriting median3 to work with int64_t. >>From c91303ef78b8daebe874dfa652ff56a003537b16 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Mon, 29 Dec 2025 07:25:49 +0000 Subject: [PATCH] fftools/ffmpeg_filter: fix build failure on riscv libavcodec/mathops.h is a private header file, which can use private symbols inside libavcodec, e.g., ff_rv_zbb_supported. With shared build, we got fftools/ffmpeg_filter.c:2687: undefined reference to `ff_rv_zbb_supported' This patch also fixes integer overflow issue by rewriting median3 to work with int64_t. --- fftools/ffmpeg_filter.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index d5ae59ec03..9a4360b5c5 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -40,9 +40,6 @@ #include "libavutil/time.h" #include "libavutil/timestamp.h" -// FIXME private header, used for mid_pred() -#include "libavcodec/mathops.h" - typedef struct FilterGraphPriv { FilterGraph fg; @@ -2489,6 +2486,23 @@ early_exit: return float_pts; } +static inline int64_t median3(int64_t a, int64_t b, int64_t c) +{ + int64_t max2, min2, m; + + if (a >= b) { + max2 = a; + min2 = b; + } else { + max2 = b; + min2 = a; + } + m = (c >= max2) ? max2 : c; + + return (m >= min2) ? m : min2; +} + + /* Convert frame timestamps to the encoder timebase and decide how many times * should this (and possibly previous) frame be repeated in order to conform to * desired target framerate (if any). @@ -2501,9 +2515,9 @@ static void video_sync_process(OutputFilterPriv *ofp, AVFrame *frame, double delta0, delta, sync_ipts, duration; if (!frame) { - *nb_frames_prev = *nb_frames = mid_pred(fps->frames_prev_hist[0], - fps->frames_prev_hist[1], - fps->frames_prev_hist[2]); + *nb_frames_prev = *nb_frames = median3(fps->frames_prev_hist[0], + fps->frames_prev_hist[1], + fps->frames_prev_hist[2]); if (!*nb_frames && fps->last_dropped) { atomic_fetch_add(&ofilter->nb_frames_drop, 1); -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org