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 291CD4C687 for ; Mon, 22 Dec 2025 12:54:03 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'yv2QLAkUytnrJ1S5Ys07JfA2/DIIQ3/ZN/zlNqarsv0=', expected b'Q5tDQl8io6F4ZIrHFVsg7IUUOkwCHLmWmWkiaAlFu94=')) 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=1766408029; 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=yv2QLAkUytnrJ1S5Ys07JfA2/DIIQ3/ZN/zlNqarsv0=; b=VS+o9vyKa0kzmZ+Sg19E+6vHi1ItN+9WdSc/NbsQBDA/QXq9lYr5OB8ptfsa1AJeuuh2F SHKS4oza7cJPquKPfMXd967KRRxIT61HyDBgyqBmg/yhCHAoIJE1oKM9Ccndbeq8Qsca8AW bldXEuU+YBuO4pu6tiUhqjMVU/YQJ/OG3pFYpQ/YAdsAKryocs4baKd2aOnbY4vKuIqHSEo okxMPI7U8g4jVWO4fXy6EE/9/hCGroU4ZpE0ODL65ZIlrBUwaWfcvXypLA+g5TiJWy/Hfnk /yMzXTuIGaIlN6TRTwyZ6kS9py/9cMWv9tVSQhcGPiFWMBqmxGJ3xFehHpRA== Received: from [172.20.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 8EFDD690A8B; Mon, 22 Dec 2025 14:53:49 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1766408020; b=XcRBa6u++TRjfcT6rDNydOM+fwgnkOg7+djTQt4YAoyLx5iez36QYhKg9axVSrnS5wo2q 4iQDKR9R5Wd38atdaer6JL0TE2cDXcTdouGtAV3edkurY3SXiu/b8soXfuO+Ayk4OYP5CYB uWU3MNEE+vHNn1XdIYUXCv0yagtbrD6RAhi14uxEkCBlylcxMjrSjyhgDA3a5Zkj0HJhZZK Rw6tNJX1AS1Q26gsNnmrywBRqTq4v0N3ceWP7p8AXR/xzMpfpPj6MCtr5jxFFMPrTd7+R1f 3HmSqllTnbwyaEGDtZFJE3KLXFbiYmDFY5RoLDK8NT23pZdegBK11MDiFGAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1766408020; 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=wMHqMboOh7yeIxZKV4Uiqu3lsVhq+L24dJN7GAW8P3Q=; b=cRgunWkFhCgLMgxpGZB9Jt1ijZbA570Q5qCcPDAhYI2TH/+UOBKYfzDjP6BlRZyiDOGkv yVZ0vccdY03LkoiqGTSHCrlGXDEEa7cSzfmdQp6HRFZAKD1ywoJAmOeoZVK9X7CRRtyy3BT M1kxLFtM0eFZO8XtxrF+i2AZl6VqZDz/oovzdgJiYl5RzGdTtQF3y7HmIv30hzFRAIWIChz mMnvoOHw7rLJFfisi9zbAbyJ+11UTlf7JKsM9zzEj/IX33+SFb27GBGu2mWTtkKvqzfAvJh fUplG+d03PQXRYQBkI707h/znr3SQIE9S3EAPN3DJ0zD5njL1eW/nXSnbr2w== 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=1766408012; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=Q5tDQl8io6F4ZIrHFVsg7IUUOkwCHLmWmWkiaAlFu94=; b=FiXrv3z83v7A+G3N91ikV03eHeSZVFDBrUK1fZLCz5kE8fkIbymQhj7KB8lKyzQaPsvxs EUBYpFBXfk8ZFI+Ycvuvc4PTEF0ddonNJuUkIGdCxx7oSVsPUBXIp5Iko00WAsMAa+092RW nyIFSiL+vZggMfJm8eokWghaQHX5klXc8J4craqZtX2pEa9/qNPbGSwIEunL00rOXhsz1wf +RvKIBizfMi7jBe0NfppXZMv4BFOUqylqBTglJQ1OdQ4DloZG64wIy4L82+VPmI3RmZVVE4 ejpobYx/sr36grRsC+fXRfSaxyOLvK2OGnF34uyUvfwhs0+RAP0qsz6AQeEw== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 8DCDC6904FC for ; Mon, 22 Dec 2025 14:53:32 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 22 Dec 2025 12:53:32 -0000 Message-ID: <176640801274.60.16895930707842798197@2cb04c0e5124> Message-ID-Hash: M3RGGXJCPFJDCQ34CZK33XLOW6HVREUV X-Message-ID-Hash: M3RGGXJCPFJDCQ34CZK33XLOW6HVREUV 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] avfilter/vf_waveform: Avoid relocations (PR #21262) 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: mkver via ffmpeg-devel Cc: mkver Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21262 opened by mkver URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21262 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21262.patch >>From c5c5462ef6103ce413977d957863517bae71669b Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 22 Dec 2025 13:28:56 +0100 Subject: [PATCH 1/2] avfilter/vf_waveform: don't cast const away Signed-off-by: Andreas Rheinhardt --- libavfilter/vf_waveform.c | 98 +++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/libavfilter/vf_waveform.c b/libavfilter/vf_waveform.c index a8e4e71bf6..199b5f9eb5 100644 --- a/libavfilter/vf_waveform.c +++ b/libavfilter/vf_waveform.c @@ -114,7 +114,7 @@ typedef struct WaveformContext { int scale; uint8_t grat_yuva_color[4]; int shift_w[4], shift_h[4]; - GraticuleLines *glines; + const GraticuleLines *glines; int nb_glines; int rgb; float ftint[2]; @@ -3180,26 +3180,26 @@ static int config_input(AVFilterLink *inlink) switch (s->scale) { case DIGITAL: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)digital8; s->nb_glines = FF_ARRAY_ELEMS(digital8); break; - case 9: s->glines = (GraticuleLines *)digital9; s->nb_glines = FF_ARRAY_ELEMS(digital9); break; - case 10: s->glines = (GraticuleLines *)digital10; s->nb_glines = FF_ARRAY_ELEMS(digital10); break; - case 12: s->glines = (GraticuleLines *)digital12; s->nb_glines = FF_ARRAY_ELEMS(digital12); break; + case 8: s->glines = digital8; s->nb_glines = FF_ARRAY_ELEMS(digital8); break; + case 9: s->glines = digital9; s->nb_glines = FF_ARRAY_ELEMS(digital9); break; + case 10: s->glines = digital10; s->nb_glines = FF_ARRAY_ELEMS(digital10); break; + case 12: s->glines = digital12; s->nb_glines = FF_ARRAY_ELEMS(digital12); break; } break; case MILLIVOLTS: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)millivolts8; s->nb_glines = FF_ARRAY_ELEMS(millivolts8); break; - case 9: s->glines = (GraticuleLines *)millivolts9; s->nb_glines = FF_ARRAY_ELEMS(millivolts9); break; - case 10: s->glines = (GraticuleLines *)millivolts10; s->nb_glines = FF_ARRAY_ELEMS(millivolts10); break; - case 12: s->glines = (GraticuleLines *)millivolts12; s->nb_glines = FF_ARRAY_ELEMS(millivolts12); break; + case 8: s->glines = millivolts8; s->nb_glines = FF_ARRAY_ELEMS(millivolts8); break; + case 9: s->glines = millivolts9; s->nb_glines = FF_ARRAY_ELEMS(millivolts9); break; + case 10: s->glines = millivolts10; s->nb_glines = FF_ARRAY_ELEMS(millivolts10); break; + case 12: s->glines = millivolts12; s->nb_glines = FF_ARRAY_ELEMS(millivolts12); break; } break; case IRE: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)ire8; s->nb_glines = FF_ARRAY_ELEMS(ire8); break; - case 9: s->glines = (GraticuleLines *)ire9; s->nb_glines = FF_ARRAY_ELEMS(ire9); break; - case 10: s->glines = (GraticuleLines *)ire10; s->nb_glines = FF_ARRAY_ELEMS(ire10); break; - case 12: s->glines = (GraticuleLines *)ire12; s->nb_glines = FF_ARRAY_ELEMS(ire12); break; + case 8: s->glines = ire8; s->nb_glines = FF_ARRAY_ELEMS(ire8); break; + case 9: s->glines = ire9; s->nb_glines = FF_ARRAY_ELEMS(ire9); break; + case 10: s->glines = ire10; s->nb_glines = FF_ARRAY_ELEMS(ire10); break; + case 12: s->glines = ire12; s->nb_glines = FF_ARRAY_ELEMS(ire12); break; } break; } @@ -3208,26 +3208,26 @@ static int config_input(AVFilterLink *inlink) switch (s->scale) { case DIGITAL: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)chroma_digital8; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital8); break; - case 9: s->glines = (GraticuleLines *)chroma_digital9; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital9); break; - case 10: s->glines = (GraticuleLines *)chroma_digital10; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital10); break; - case 12: s->glines = (GraticuleLines *)chroma_digital12; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital12); break; + case 8: s->glines = chroma_digital8; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital8); break; + case 9: s->glines = chroma_digital9; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital9); break; + case 10: s->glines = chroma_digital10; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital10); break; + case 12: s->glines = chroma_digital12; s->nb_glines = FF_ARRAY_ELEMS(chroma_digital12); break; } break; case MILLIVOLTS: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)millivolts8; s->nb_glines = FF_ARRAY_ELEMS(millivolts8); break; - case 9: s->glines = (GraticuleLines *)millivolts9; s->nb_glines = FF_ARRAY_ELEMS(millivolts9); break; - case 10: s->glines = (GraticuleLines *)millivolts10; s->nb_glines = FF_ARRAY_ELEMS(millivolts10); break; - case 12: s->glines = (GraticuleLines *)millivolts12; s->nb_glines = FF_ARRAY_ELEMS(millivolts12); break; + case 8: s->glines = millivolts8; s->nb_glines = FF_ARRAY_ELEMS(millivolts8); break; + case 9: s->glines = millivolts9; s->nb_glines = FF_ARRAY_ELEMS(millivolts9); break; + case 10: s->glines = millivolts10; s->nb_glines = FF_ARRAY_ELEMS(millivolts10); break; + case 12: s->glines = millivolts12; s->nb_glines = FF_ARRAY_ELEMS(millivolts12); break; } break; case IRE: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)ire8; s->nb_glines = FF_ARRAY_ELEMS(ire8); break; - case 9: s->glines = (GraticuleLines *)ire9; s->nb_glines = FF_ARRAY_ELEMS(ire9); break; - case 10: s->glines = (GraticuleLines *)ire10; s->nb_glines = FF_ARRAY_ELEMS(ire10); break; - case 12: s->glines = (GraticuleLines *)ire12; s->nb_glines = FF_ARRAY_ELEMS(ire12); break; + case 8: s->glines = ire8; s->nb_glines = FF_ARRAY_ELEMS(ire8); break; + case 9: s->glines = ire9; s->nb_glines = FF_ARRAY_ELEMS(ire9); break; + case 10: s->glines = ire10; s->nb_glines = FF_ARRAY_ELEMS(ire10); break; + case 12: s->glines = ire12; s->nb_glines = FF_ARRAY_ELEMS(ire12); break; } break; } @@ -3238,26 +3238,26 @@ static int config_input(AVFilterLink *inlink) switch (s->scale) { case DIGITAL: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)aflat_digital8; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital8); break; - case 9: s->glines = (GraticuleLines *)aflat_digital9; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital9); break; - case 10: s->glines = (GraticuleLines *)aflat_digital10; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital10); break; - case 12: s->glines = (GraticuleLines *)aflat_digital12; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital12); break; + case 8: s->glines = aflat_digital8; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital8); break; + case 9: s->glines = aflat_digital9; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital9); break; + case 10: s->glines = aflat_digital10; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital10); break; + case 12: s->glines = aflat_digital12; s->nb_glines = FF_ARRAY_ELEMS(aflat_digital12); break; } break; case MILLIVOLTS: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)aflat_millivolts8; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts8); break; - case 9: s->glines = (GraticuleLines *)aflat_millivolts9; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts9); break; - case 10: s->glines = (GraticuleLines *)aflat_millivolts10; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts10); break; - case 12: s->glines = (GraticuleLines *)aflat_millivolts12; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts12); break; + case 8: s->glines = aflat_millivolts8; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts8); break; + case 9: s->glines = aflat_millivolts9; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts9); break; + case 10: s->glines = aflat_millivolts10; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts10); break; + case 12: s->glines = aflat_millivolts12; s->nb_glines = FF_ARRAY_ELEMS(aflat_millivolts12); break; } break; case IRE: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)aflat_ire8; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire8); break; - case 9: s->glines = (GraticuleLines *)aflat_ire9; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire9); break; - case 10: s->glines = (GraticuleLines *)aflat_ire10; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire10); break; - case 12: s->glines = (GraticuleLines *)aflat_ire12; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire12); break; + case 8: s->glines = aflat_ire8; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire8); break; + case 9: s->glines = aflat_ire9; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire9); break; + case 10: s->glines = aflat_ire10; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire10); break; + case 12: s->glines = aflat_ire12; s->nb_glines = FF_ARRAY_ELEMS(aflat_ire12); break; } break; } @@ -3266,26 +3266,26 @@ static int config_input(AVFilterLink *inlink) switch (s->scale) { case DIGITAL: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)flat_digital8; s->nb_glines = FF_ARRAY_ELEMS(flat_digital8); break; - case 9: s->glines = (GraticuleLines *)flat_digital9; s->nb_glines = FF_ARRAY_ELEMS(flat_digital9); break; - case 10: s->glines = (GraticuleLines *)flat_digital10; s->nb_glines = FF_ARRAY_ELEMS(flat_digital10); break; - case 12: s->glines = (GraticuleLines *)flat_digital12; s->nb_glines = FF_ARRAY_ELEMS(flat_digital12); break; + case 8: s->glines = flat_digital8; s->nb_glines = FF_ARRAY_ELEMS(flat_digital8); break; + case 9: s->glines = flat_digital9; s->nb_glines = FF_ARRAY_ELEMS(flat_digital9); break; + case 10: s->glines = flat_digital10; s->nb_glines = FF_ARRAY_ELEMS(flat_digital10); break; + case 12: s->glines = flat_digital12; s->nb_glines = FF_ARRAY_ELEMS(flat_digital12); break; } break; case MILLIVOLTS: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)flat_millivolts8; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts8); break; - case 9: s->glines = (GraticuleLines *)flat_millivolts9; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts9); break; - case 10: s->glines = (GraticuleLines *)flat_millivolts10; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts10); break; - case 12: s->glines = (GraticuleLines *)flat_millivolts12; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts12); break; + case 8: s->glines = flat_millivolts8; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts8); break; + case 9: s->glines = flat_millivolts9; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts9); break; + case 10: s->glines = flat_millivolts10; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts10); break; + case 12: s->glines = flat_millivolts12; s->nb_glines = FF_ARRAY_ELEMS(flat_millivolts12); break; } break; case IRE: switch (s->bits) { - case 8: s->glines = (GraticuleLines *)flat_ire8; s->nb_glines = FF_ARRAY_ELEMS(flat_ire8); break; - case 9: s->glines = (GraticuleLines *)flat_ire9; s->nb_glines = FF_ARRAY_ELEMS(flat_ire9); break; - case 10: s->glines = (GraticuleLines *)flat_ire10; s->nb_glines = FF_ARRAY_ELEMS(flat_ire10); break; - case 12: s->glines = (GraticuleLines *)flat_ire12; s->nb_glines = FF_ARRAY_ELEMS(flat_ire12); break; + case 8: s->glines = flat_ire8; s->nb_glines = FF_ARRAY_ELEMS(flat_ire8); break; + case 9: s->glines = flat_ire9; s->nb_glines = FF_ARRAY_ELEMS(flat_ire9); break; + case 10: s->glines = flat_ire10; s->nb_glines = FF_ARRAY_ELEMS(flat_ire10); break; + case 12: s->glines = flat_ire12; s->nb_glines = FF_ARRAY_ELEMS(flat_ire12); break; } break; } -- 2.49.1 >>From 9af4039ee841be9d1f3afb1ac094da3841e5d073 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 22 Dec 2025 13:31:48 +0100 Subject: [PATCH 2/2] avfilter/vf_waveform: Avoid relocations Signed-off-by: Andreas Rheinhardt --- libavfilter/vf_waveform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_waveform.c b/libavfilter/vf_waveform.c index 199b5f9eb5..3c1cfcdc20 100644 --- a/libavfilter/vf_waveform.c +++ b/libavfilter/vf_waveform.c @@ -77,7 +77,7 @@ enum GraticuleType { }; typedef struct GraticuleLine { - const char *name; + char name[6]; uint16_t pos; } GraticuleLine; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org