From: mkver via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: ffmpeg-devel@ffmpeg.org
Cc: mkver <code@ffmpeg.org>
Subject: [FFmpeg-devel] [PR] avcodec/dpcm: Remove unnecessary flush callbacks (PR #21690)
Date: Mon, 09 Feb 2026 01:58:27 -0000
Message-ID: <177060230842.25.11336403003573118283@4457048688e7> (raw)
PR #21690 opened by mkver
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21690
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21690.patch
>From bd119f7d406207b27cfe1bfa70f7d47bc5401927 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Mon, 9 Feb 2026 02:34:17 +0100
Subject: [PATCH 1/2] avcodec/dpcm: Avoid trailing '_' in macro parameters
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/dpcm.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/libavcodec/dpcm.c b/libavcodec/dpcm.c
index edeb1aae72..fed6f76124 100644
--- a/libavcodec/dpcm.c
+++ b/libavcodec/dpcm.c
@@ -466,12 +466,12 @@ static av_cold void dpcm_flush(AVCodecContext *avctx)
s->sample[0] = s->sample[1] = 0;
}
-#define DPCM_DECODER(id_, name_, long_name_) \
-const FFCodec ff_ ## name_ ## _decoder = { \
- .p.name = #name_, \
- CODEC_LONG_NAME(long_name_), \
+#define DPCM_DECODER(ID, NAME, LONG_NAME) \
+const FFCodec ff_ ## NAME ## _decoder = { \
+ .p.name = #NAME, \
+ CODEC_LONG_NAME(LONG_NAME), \
.p.type = AVMEDIA_TYPE_AUDIO, \
- .p.id = id_, \
+ .p.id = ID, \
.p.capabilities = AV_CODEC_CAP_DR1, \
.priv_data_size = sizeof(DPCMContext), \
.init = dpcm_decode_init, \
--
2.52.0
>From 6d8c4c8284c2d463f489875cfa6ce5cc841c205b Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Mon, 9 Feb 2026 02:42:15 +0100
Subject: [PATCH 2/2] avcodec/dpcm: Remove unnecessary flush callbacks
{INTERPLAY,ROQ,XAN}_DPCM does not use the stored samples at all.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/dpcm.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/libavcodec/dpcm.c b/libavcodec/dpcm.c
index fed6f76124..39df47dcfa 100644
--- a/libavcodec/dpcm.c
+++ b/libavcodec/dpcm.c
@@ -466,7 +466,7 @@ static av_cold void dpcm_flush(AVCodecContext *avctx)
s->sample[0] = s->sample[1] = 0;
}
-#define DPCM_DECODER(ID, NAME, LONG_NAME) \
+#define DPCM_DECODER(ID, NAME, FLUSH, LONG_NAME) \
const FFCodec ff_ ## NAME ## _decoder = { \
.p.name = #NAME, \
CODEC_LONG_NAME(LONG_NAME), \
@@ -475,16 +475,16 @@ const FFCodec ff_ ## NAME ## _decoder = { \
.p.capabilities = AV_CODEC_CAP_DR1, \
.priv_data_size = sizeof(DPCMContext), \
.init = dpcm_decode_init, \
- .flush = dpcm_flush, \
+ .flush = FLUSH, \
FF_CODEC_DECODE_CB(dpcm_decode_frame), \
}
-DPCM_DECODER(AV_CODEC_ID_CBD2_DPCM, cbd2_dpcm, "DPCM Cuberoot-Delta-Exact");
-DPCM_DECODER(AV_CODEC_ID_DERF_DPCM, derf_dpcm, "DPCM Xilam DERF");
-DPCM_DECODER(AV_CODEC_ID_GREMLIN_DPCM, gremlin_dpcm, "DPCM Gremlin");
-DPCM_DECODER(AV_CODEC_ID_INTERPLAY_DPCM, interplay_dpcm, "DPCM Interplay");
-DPCM_DECODER(AV_CODEC_ID_ROQ_DPCM, roq_dpcm, "DPCM id RoQ");
-DPCM_DECODER(AV_CODEC_ID_SDX2_DPCM, sdx2_dpcm, "DPCM Squareroot-Delta-Exact");
-DPCM_DECODER(AV_CODEC_ID_SOL_DPCM, sol_dpcm, "DPCM Sol");
-DPCM_DECODER(AV_CODEC_ID_XAN_DPCM, xan_dpcm, "DPCM Xan");
-DPCM_DECODER(AV_CODEC_ID_WADY_DPCM, wady_dpcm, "DPCM Marble WADY");
+DPCM_DECODER(AV_CODEC_ID_CBD2_DPCM, cbd2_dpcm, dpcm_flush, "DPCM Cuberoot-Delta-Exact");
+DPCM_DECODER(AV_CODEC_ID_DERF_DPCM, derf_dpcm, dpcm_flush, "DPCM Xilam DERF");
+DPCM_DECODER(AV_CODEC_ID_GREMLIN_DPCM, gremlin_dpcm, dpcm_flush, "DPCM Gremlin");
+DPCM_DECODER(AV_CODEC_ID_INTERPLAY_DPCM, interplay_dpcm, NULL, "DPCM Interplay");
+DPCM_DECODER(AV_CODEC_ID_ROQ_DPCM, roq_dpcm, NULL, "DPCM id RoQ");
+DPCM_DECODER(AV_CODEC_ID_SDX2_DPCM, sdx2_dpcm, dpcm_flush, "DPCM Squareroot-Delta-Exact");
+DPCM_DECODER(AV_CODEC_ID_SOL_DPCM, sol_dpcm, dpcm_flush, "DPCM Sol");
+DPCM_DECODER(AV_CODEC_ID_XAN_DPCM, xan_dpcm, NULL, "DPCM Xan");
+DPCM_DECODER(AV_CODEC_ID_WADY_DPCM, wady_dpcm, dpcm_flush, "DPCM Marble WADY");
--
2.52.0
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
reply other threads:[~2026-02-09 1:59 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=177060230842.25.11336403003573118283@4457048688e7 \
--to=ffmpeg-devel@ffmpeg.org \
--cc=code@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git