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 <[email protected]>
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 <[email protected]>
---
 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 <[email protected]>
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 <[email protected]>
---
 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 -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to