Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral
@ 2026-02-20 16:25 marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params marcos ashton via ffmpeg-devel
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: marcos ashton via ffmpeg-devel @ 2026-02-20 16:25 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: michealni, marcos ashton

Hi, this is my qualification task for the GSoC 2026
"Improving FATE Test Coverage" project.

This series adds 7 new FATE tests for three previously untested files:

1/3: Unit test for libavutil/film_grain_params.c (~98% coverage)
2/3: Encode/decode roundtrip for libavcodec/cngdec.c (~92% coverage)
3/3: Filter tests for libavfilter/af_aderivative.c (~87% coverage)

marcos ashton (3):
  tests/fate/libavutil: add FATE test for film_grain_params
  tests/fate/voice: add FATE test for CNG encoder roundtrip
  tests/fate/filter-audio: add FATE tests for aderivative and aintegral

 libavutil/Makefile                     |   1 +
 libavutil/tests/film_grain_params.c    | 240 +++++++++++++++++++++++++
 tests/fate/filter-audio.mak            |  25 +++
 tests/fate/libavutil.mak               |   4 +
 tests/fate/voice.mak                   |   8 +
 tests/ref/fate/cng-encode              |  84 +++++++++
 tests/ref/fate/film_grain_params       |  30 ++++
 tests/ref/fate/filter-aderivative      |  70 ++++++++
 tests/ref/fate/filter-aderivative-fltp |  70 ++++++++
 tests/ref/fate/filter-aderivative-s32p |  70 ++++++++
 tests/ref/fate/filter-aintegral        |  70 ++++++++
 tests/ref/fate/filter-aintegral-dblp   |  70 ++++++++
 12 files changed, 742 insertions(+)
 create mode 100644 libavutil/tests/film_grain_params.c
 create mode 100644 tests/ref/fate/cng-encode
 create mode 100644 tests/ref/fate/film_grain_params
 create mode 100644 tests/ref/fate/filter-aderivative
 create mode 100644 tests/ref/fate/filter-aderivative-fltp
 create mode 100644 tests/ref/fate/filter-aderivative-s32p
 create mode 100644 tests/ref/fate/filter-aintegral
 create mode 100644 tests/ref/fate/filter-aintegral-dblp

-- 
2.53.0

_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params
  2026-02-20 16:25 [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral marcos ashton via ffmpeg-devel
@ 2026-02-20 16:25 ` marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 2/3] tests/fate/voice: add FATE test for CNG encoder roundtrip marcos ashton via ffmpeg-devel
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: marcos ashton via ffmpeg-devel @ 2026-02-20 16:25 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: michealni, marcos ashton

Add a unit test covering alloc, create_side_data, and select
for AV1 and H.274 film grain parameter types (22 cases).

Signed-off-by: marcos ashton <marcosashiglesias@gmail.com>
---
 libavutil/Makefile                  |   1 +
 libavutil/tests/film_grain_params.c | 240 ++++++++++++++++++++++++++++
 tests/fate/libavutil.mak            |   4 +
 tests/ref/fate/film_grain_params    |  30 ++++
 4 files changed, 275 insertions(+)
 create mode 100644 libavutil/tests/film_grain_params.c
 create mode 100644 tests/ref/fate/film_grain_params

diff --git a/libavutil/Makefile b/libavutil/Makefile
index c5241895ff..6526d4d73d 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -277,6 +277,7 @@ TESTPROGS = adler32                                                     \
             eval                                                        \
             file                                                        \
             fifo                                                        \
+            film_grain_params                                           \
             hash                                                        \
             hmac                                                        \
             hwdevice                                                    \
diff --git a/libavutil/tests/film_grain_params.c b/libavutil/tests/film_grain_params.c
new file mode 100644
index 0000000000..043c2bf3a9
--- /dev/null
+++ b/libavutil/tests/film_grain_params.c
@@ -0,0 +1,240 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdio.h>
+
+#include "libavutil/film_grain_params.c"
+
+static AVFrame *create_frame(enum AVPixelFormat format, int width, int height)
+{
+    AVFrame *frame = av_frame_alloc();
+    if (!frame)
+        return NULL;
+    frame->format = format;
+    frame->width  = width;
+    frame->height = height;
+    return frame;
+}
+
+static AVFilmGrainParams *add_grain(AVFrame *frame,
+                                     enum AVFilmGrainParamsType type,
+                                     int width, int height,
+                                     int sub_x, int sub_y,
+                                     int bd_luma, int bd_chroma)
+{
+    AVFilmGrainParams *fgp = av_film_grain_params_create_side_data(frame);
+    if (!fgp)
+        return NULL;
+    fgp->type             = type;
+    fgp->width            = width;
+    fgp->height           = height;
+    fgp->subsampling_x    = sub_x;
+    fgp->subsampling_y    = sub_y;
+    fgp->bit_depth_luma   = bd_luma;
+    fgp->bit_depth_chroma = bd_chroma;
+    return fgp;
+}
+
+int main(void)
+{
+    AVFilmGrainParams *fgp;
+    const AVFilmGrainParams *sel;
+    AVFrame *frame;
+    size_t size;
+
+    printf("Testing av_film_grain_params_alloc()\n");
+
+    fgp = av_film_grain_params_alloc(&size);
+    printf("alloc with size: %s\n", (fgp && size > 0) ? "OK" : "FAIL");
+    av_free(fgp);
+
+    fgp = av_film_grain_params_alloc(NULL);
+    printf("alloc without size: %s\n", fgp ? "OK" : "FAIL");
+    av_free(fgp);
+
+    printf("\nTesting av_film_grain_params_create_side_data()\n");
+
+    frame = av_frame_alloc();
+    fgp = av_film_grain_params_create_side_data(frame);
+    printf("create: %s\n", fgp ? "OK" : "FAIL");
+    printf("defaults: range=%d pri=%d trc=%d space=%d\n",
+           fgp->color_range, fgp->color_primaries,
+           fgp->color_trc, fgp->color_space);
+    av_frame_free(&frame);
+
+    printf("\nTesting av_film_grain_params_select()\n");
+
+    /* invalid format */
+    frame = av_frame_alloc();
+    frame->format = -1;
+    sel = av_film_grain_params_select(frame);
+    printf("invalid format: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* no side data */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    sel = av_film_grain_params_select(frame);
+    printf("no side data: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* NONE type - skipped */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_NONE, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("NONE type: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* AV1 exact subsampling match (YUV420P: sub 1,1) */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("AV1 match: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* AV1 subsampling mismatch */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 0, 0, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("AV1 sub mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* H274 exact match */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_H274, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("H274 match: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* H274 lower subsampling OK (grain sub 0,0 < YUV420P sub 1,1) */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_H274, 0, 0, 0, 0, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("H274 lower sub: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* H274 higher subsampling FAIL (grain sub 1,1 > YUV444P sub 0,0) */
+    frame = create_frame(AV_PIX_FMT_YUV444P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_H274, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("H274 higher sub: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* width too large */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 3840, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("width too large: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* height too large */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 2160, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("height too large: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* width/height = 0 (unspecified) - passes */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("size unspecified: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* bit_depth_luma mismatch (grain=10, YUV420P=8) */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 10, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("bd_luma mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* bit_depth_chroma mismatch (grain=10, YUV420P=8) */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 10);
+    sel = av_film_grain_params_select(frame);
+    printf("bd_chroma mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* bit_depth = 0 (unspecified) - passes */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("bd unspecified: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* bit_depth exact match (grain=8, YUV420P=8) */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 8, 8);
+    sel = av_film_grain_params_select(frame);
+    printf("bd exact match: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* color_range mismatch */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    frame->color_range = AVCOL_RANGE_MPEG;
+    fgp = add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    fgp->color_range = AVCOL_RANGE_JPEG;
+    sel = av_film_grain_params_select(frame);
+    printf("color_range mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* color_primaries mismatch */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    frame->color_primaries = AVCOL_PRI_BT709;
+    fgp = add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    fgp->color_primaries = AVCOL_PRI_BT470M;
+    sel = av_film_grain_params_select(frame);
+    printf("color_primaries mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* color_trc mismatch */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    frame->color_trc = AVCOL_TRC_BT709;
+    fgp = add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    fgp->color_trc = AVCOL_TRC_GAMMA22;
+    sel = av_film_grain_params_select(frame);
+    printf("color_trc mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* color_space mismatch */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    frame->colorspace = AVCOL_SPC_BT709;
+    fgp = add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    fgp->color_space = AVCOL_SPC_BT470BG;
+    sel = av_film_grain_params_select(frame);
+    printf("color_space mismatch: %s\n", sel ? "FAIL" : "NULL");
+    av_frame_free(&frame);
+
+    /* color properties UNSPECIFIED - passes */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 0, 0, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("color unspecified: %s\n", sel ? "OK" : "FAIL");
+    av_frame_free(&frame);
+
+    /* multiple entries - best selection by size */
+    frame = create_frame(AV_PIX_FMT_YUV420P, 1920, 1080);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 640,  480,  1, 1, 0, 0);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 1280, 720,  1, 1, 0, 0);
+    add_grain(frame, AV_FILM_GRAIN_PARAMS_AV1, 1000, 1080, 1, 1, 0, 0);
+    sel = av_film_grain_params_select(frame);
+    printf("best selection: width=%d height=%d\n",
+           sel ? sel->width : -1, sel ? sel->height : -1);
+    av_frame_free(&frame);
+
+    return 0;
+}
diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak
index 6bf03b2438..4992f4e64f 100644
--- a/tests/fate/libavutil.mak
+++ b/tests/fate/libavutil.mak
@@ -87,6 +87,10 @@ FATE_LIBAVUTIL += fate-fifo
 fate-fifo: libavutil/tests/fifo$(EXESUF)
 fate-fifo: CMD = run libavutil/tests/fifo$(EXESUF)
 
+FATE_LIBAVUTIL += fate-film_grain_params
+fate-film_grain_params: libavutil/tests/film_grain_params$(EXESUF)
+fate-film_grain_params: CMD = run libavutil/tests/film_grain_params$(EXESUF)
+
 FATE_LIBAVUTIL += fate-hash
 fate-hash: libavutil/tests/hash$(EXESUF)
 fate-hash: CMD = run libavutil/tests/hash$(EXESUF)
diff --git a/tests/ref/fate/film_grain_params b/tests/ref/fate/film_grain_params
new file mode 100644
index 0000000000..1b3f8f2b30
--- /dev/null
+++ b/tests/ref/fate/film_grain_params
@@ -0,0 +1,30 @@
+Testing av_film_grain_params_alloc()
+alloc with size: OK
+alloc without size: OK
+
+Testing av_film_grain_params_create_side_data()
+create: OK
+defaults: range=0 pri=2 trc=2 space=2
+
+Testing av_film_grain_params_select()
+invalid format: NULL
+no side data: NULL
+NONE type: NULL
+AV1 match: OK
+AV1 sub mismatch: NULL
+H274 match: OK
+H274 lower sub: OK
+H274 higher sub: NULL
+width too large: NULL
+height too large: NULL
+size unspecified: OK
+bd_luma mismatch: NULL
+bd_chroma mismatch: NULL
+bd unspecified: OK
+bd exact match: OK
+color_range mismatch: NULL
+color_primaries mismatch: NULL
+color_trc mismatch: NULL
+color_space mismatch: NULL
+color unspecified: OK
+best selection: width=1000 height=1080
-- 
2.53.0

_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] [PATCH 2/3] tests/fate/voice: add FATE test for CNG encoder roundtrip
  2026-02-20 16:25 [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params marcos ashton via ffmpeg-devel
@ 2026-02-20 16:25 ` marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 3/3] tests/fate/filter-audio: add FATE tests for aderivative and aintegral marcos ashton via ffmpeg-devel
  2026-02-22 13:59 ` [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral hassan hany via ffmpeg-devel
  3 siblings, 0 replies; 8+ messages in thread
From: marcos ashton via ffmpeg-devel @ 2026-02-20 16:25 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: michealni, marcos ashton

Add an encode/decode roundtrip test for the CNG codec using
the NUT container. Added to FATE_FFMPEG since it uses generated
data, not external samples.

Signed-off-by: marcos ashton <marcosashiglesias@gmail.com>
---
 tests/fate/voice.mak      |  8 ++++
 tests/ref/fate/cng-encode | 84 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 tests/ref/fate/cng-encode

diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak
index 945b8624ac..21db08ddc1 100644
--- a/tests/fate/voice.mak
+++ b/tests/fate/voice.mak
@@ -1,3 +1,11 @@
+FATE_CNG-$(call FRAMEMD5, WAV, COMFORTNOISE, NUT_MUXER NUT_DEMUXER COMFORTNOISE_ENCODER PCM_S16LE_DECODER) += fate-cng-encode
+fate-cng-encode: tests/data/asynth-8000-1.wav
+fate-cng-encode: SRC = tests/data/asynth-8000-1.wav
+fate-cng-encode: CMD = enc_dec_pcm nut framemd5 s16le $(SRC) -c:a comfortnoise
+
+FATE_FFMPEG += $(FATE_CNG-yes)
+fate-cng: $(FATE_CNG-yes)
+
 FATE_G722-$(call FRAMECRC, G722, ADPCM_G722) += fate-g722dec-1
 fate-g722dec-1: CMD = framecrc -i $(TARGET_SAMPLES)/g722/conf-adminmenu-162.g722
 
diff --git a/tests/ref/fate/cng-encode b/tests/ref/fate/cng-encode
new file mode 100644
index 0000000000..47ec43d55f
--- /dev/null
+++ b/tests/ref/fate/cng-encode
@@ -0,0 +1,84 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1/8000
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 8000
+#channel_layout_name 0: mono
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,      640,     1280, 941c49e6a56933f663a83b5b2bde64d3
+0,        640,        640,      640,     1280, d1268ca433a0d01e2a6c1f1de5e6317d
+0,       1280,       1280,      640,     1280, c9608efb1df4cfedaa7a78c815514376
+0,       1920,       1920,      640,     1280, 45dbde137f46b0a3a347d48586f5c9e0
+0,       2560,       2560,      640,     1280, add64ee46ac49109ad90f80af9c1b823
+0,       3200,       3200,      640,     1280, 4d424b644b380aebc4fcabe6294d36c4
+0,       3840,       3840,      640,     1280, cf80a6fea238b405e93b66109ee2cf45
+0,       4480,       4480,      640,     1280, 0bdcee2800e3636132f20bb9ff41e9a0
+0,       5120,       5120,      640,     1280, 5d91e6ea16fde757fd8d3482a7659cda
+0,       5760,       5760,      640,     1280, 02d2033f1a56ae27f0b394643741ed4c
+0,       6400,       6400,      640,     1280, 293d9a686e809c814a95ba2e123be024
+0,       7040,       7040,      640,     1280, 90245e7394f999cc2fef5eccee6f8b65
+0,       7680,       7680,      640,     1280, f42fd806b3f29c44c47117c43c39d046
+0,       8320,       8320,      640,     1280, 8d5f671fdb9e1978f1a1e0edaa2b2558
+0,       8960,       8960,      640,     1280, 1b4d436cff37b0eb3b6ed39ac2f734c5
+0,       9600,       9600,      640,     1280, 3605b9b00dc7886d2d21ba45d3ddf93f
+0,      10240,      10240,      640,     1280, fbe4cc371c09ffdc4c708a6fc5d98e72
+0,      10880,      10880,      640,     1280, d29cf29e3d88b370ed230863aa20395d
+0,      11520,      11520,      640,     1280, 45d5ba56a767ceac95d70a2bf1809d9a
+0,      12160,      12160,      640,     1280, f2c657802964d2a47c2bd5f016358b3f
+0,      12800,      12800,      640,     1280, 5fcd623714d0ce5a2af787fa2248b688
+0,      13440,      13440,      640,     1280, 8301f4336a5b3906dccc5ad64da1a27f
+0,      14080,      14080,      640,     1280, 9b2bb84866d022b7e324f5246b02f87c
+0,      14720,      14720,      640,     1280, d5ea40516bc18acc1758a996839d9264
+0,      15360,      15360,      640,     1280, 35e67297233ad55bad1cbf0ae00ecea4
+0,      16000,      16000,      640,     1280, d139db647c14b1f8aaa14af734a4246b
+0,      16640,      16640,      640,     1280, 7432f1186f23685aa50287c39da9c6cb
+0,      17280,      17280,      640,     1280, 26df0d4d915feec640510d6be4633267
+0,      17920,      17920,      640,     1280, f1cc82f71f6d5a44168ab438e8ff1b5e
+0,      18560,      18560,      640,     1280, 64373fdf85396c7cd0925ae5f0cf2ea1
+0,      19200,      19200,      640,     1280, eeb9e6c7c48aa008cd312156371d5866
+0,      19840,      19840,      640,     1280, da33a214c23b8f618fb7305f435a21af
+0,      20480,      20480,      640,     1280, 05131d541dec3a691a803dcc3cf71fdf
+0,      21120,      21120,      640,     1280, a197fec6f3b77746818ca3765c39ccd7
+0,      21760,      21760,      640,     1280, 48907fa4891809908f9d3fffd5f9f772
+0,      22400,      22400,      640,     1280, dcde835643294d688a9e419d928f5f9a
+0,      23040,      23040,      640,     1280, b155f7e7b6be9dbf2ec9e57d4670104a
+0,      23680,      23680,      640,     1280, f44a985a6a77d3ce50b1aa3681f1ab58
+0,      24320,      24320,      640,     1280, 283578e55246ca9bb246cef45b16e011
+0,      24960,      24960,      640,     1280, 2e3c1e249a75f83a61a0a641cae00c52
+0,      25600,      25600,      640,     1280, 5e7f18c94614d3bc5f0d8db117ecfe79
+0,      26240,      26240,      640,     1280, 600da4aedd04939c02eff33cffefd28e
+0,      26880,      26880,      640,     1280, e75e908f21713a0645fde30d458a57e7
+0,      27520,      27520,      640,     1280, 1d7da87f74ea3765e8824730f32e663a
+0,      28160,      28160,      640,     1280, c5b085d6d20c2a95dbd7bd5a4482d247
+0,      28800,      28800,      640,     1280, c5f889c232bc402f7caa8678b914cd76
+0,      29440,      29440,      640,     1280, 570ecd19b56729becb21a6064bb28dcf
+0,      30080,      30080,      640,     1280, a0658fbfc910f9870066f23ecc80acde
+0,      30720,      30720,      640,     1280, f73a9dd50ca3d5fbfca3929eaf1857c3
+0,      31360,      31360,      640,     1280, fe65a3edd5fff4b250998ba49bac83a2
+0,      32000,      32000,      640,     1280, 5937007a0b2f5fc77bbcfad87696b561
+0,      32640,      32640,      640,     1280, 20185e49dcafcd0bdaec48c4b959efb4
+0,      33280,      33280,      640,     1280, efd9a78f37dc6d5ef0b6c707f2a42ef6
+0,      33920,      33920,      640,     1280, 29bf0f623d7b2bc059e82c044321a0b2
+0,      34560,      34560,      640,     1280, 5247ea3adb87b63123edc4d8aa1cd7d9
+0,      35200,      35200,      640,     1280, 26e874e6e7fa996a10e745d1458041aa
+0,      35840,      35840,      640,     1280, ae05627e46a57fb012e3ad7385e7209f
+0,      36480,      36480,      640,     1280, 8071ebfb305857752be7c6c2ec6fcfe6
+0,      37120,      37120,      640,     1280, aea2f9485c033775069e26742e6c5b10
+0,      37760,      37760,      640,     1280, da39227c2783ff9c93bda0f76721351d
+0,      38400,      38400,      640,     1280, 0fdc873f2ae38eead6b7288bbd6284c6
+0,      39040,      39040,      640,     1280, cb914ed339a329e745fa1be133c8cb49
+0,      39680,      39680,      640,     1280, 310c838ba6bd4d1516c5d58ff56101c1
+0,      40320,      40320,      640,     1280, e6778cef302e53f2876c159d46c20ba7
+0,      40960,      40960,      640,     1280, 188783c00724734f36290b829ad43090
+0,      41600,      41600,      640,     1280, cad5cb529a714be1001812e4f7f85c09
+0,      42240,      42240,      640,     1280, 49160e719471d3cee87693c007716385
+0,      42880,      42880,      640,     1280, f727d1f4aeadf282ba4289b96f619959
+0,      43520,      43520,      640,     1280, 86f2dce79aa48682c6244a32eb7626d9
+0,      44160,      44160,      640,     1280, cf5b904813aa083dbd55fb71c36f8fa4
+0,      44800,      44800,      640,     1280, 720be14ab39550a8865ec14a441a794c
+0,      45440,      45440,      640,     1280, 3b70bcf20fb3a643053be658a3eda306
+0,      46080,      46080,      640,     1280, f8de057282a2172f5a641a6ecb55a446
+0,      46720,      46720,      640,     1280, e906b77a617f7403d5065957ec21cf0f
+0,      47360,      47360,      640,     1280, 53a7c92afa0942581c1639c5cd289173
-- 
2.53.0

_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] [PATCH 3/3] tests/fate/filter-audio: add FATE tests for aderivative and aintegral
  2026-02-20 16:25 [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params marcos ashton via ffmpeg-devel
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 2/3] tests/fate/voice: add FATE test for CNG encoder roundtrip marcos ashton via ffmpeg-devel
@ 2026-02-20 16:25 ` marcos ashton via ffmpeg-devel
  2026-02-22 13:59 ` [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral hassan hany via ffmpeg-devel
  3 siblings, 0 replies; 8+ messages in thread
From: marcos ashton via ffmpeg-devel @ 2026-02-20 16:25 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: michealni, marcos ashton

Add framecrc tests covering aderivative (s16, fltp, s32p with
timeline editing) and aintegral (s16, dblp) filters.

Signed-off-by: marcos ashton <marcosashiglesias@gmail.com>
---
 tests/fate/filter-audio.mak            | 25 +++++++++
 tests/ref/fate/filter-aderivative      | 70 ++++++++++++++++++++++++++
 tests/ref/fate/filter-aderivative-fltp | 70 ++++++++++++++++++++++++++
 tests/ref/fate/filter-aderivative-s32p | 70 ++++++++++++++++++++++++++
 tests/ref/fate/filter-aintegral        | 70 ++++++++++++++++++++++++++
 tests/ref/fate/filter-aintegral-dblp   | 70 ++++++++++++++++++++++++++
 6 files changed, 375 insertions(+)
 create mode 100644 tests/ref/fate/filter-aderivative
 create mode 100644 tests/ref/fate/filter-aderivative-fltp
 create mode 100644 tests/ref/fate/filter-aderivative-s32p
 create mode 100644 tests/ref/fate/filter-aintegral
 create mode 100644 tests/ref/fate/filter-aintegral-dblp

diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 526645a634..ea812530d6 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -3,6 +3,31 @@ fate-filter-adelay: tests/data/asynth-44100-2.wav
 fate-filter-adelay: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-filter-adelay: CMD = framecrc -i $(SRC) -af aresample,adelay=42,aresample
 
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADERIVATIVE ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aderivative
+fate-filter-aderivative: tests/data/asynth-44100-2.wav
+fate-filter-aderivative: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-aderivative: CMD = framecrc -i $(SRC) -af aresample,aderivative,aresample
+
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADERIVATIVE ARESAMPLE AFORMAT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aderivative-fltp
+fate-filter-aderivative-fltp: tests/data/asynth-44100-2.wav
+fate-filter-aderivative-fltp: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-aderivative-fltp: CMD = framecrc -i $(SRC) -af aresample,aformat=sample_fmts=fltp,aderivative,aresample
+
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADERIVATIVE ARESAMPLE AFORMAT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aderivative-s32p
+fate-filter-aderivative-s32p: tests/data/asynth-44100-2.wav
+fate-filter-aderivative-s32p: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-aderivative-s32p: CMD = framecrc -i $(SRC) -af "aresample,aformat=sample_fmts=s32p,aderivative=enable=lt(t\,0.5),aresample"
+
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, AINTEGRAL ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aintegral
+fate-filter-aintegral: tests/data/asynth-44100-2.wav
+fate-filter-aintegral: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-aintegral: CMD = framecrc -i $(SRC) -af aresample,aintegral,aresample
+
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, AINTEGRAL ARESAMPLE AFORMAT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aintegral-dblp
+fate-filter-aintegral-dblp: tests/data/asynth-44100-2.wav
+fate-filter-aintegral-dblp: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
+fate-filter-aintegral-dblp: CMD = framecrc -i $(SRC) -af aresample,aformat=sample_fmts=dblp,aintegral,aresample
+
 FATE_AFILTER-$(call FILTERDEMDECENCMUX, AECHO ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aecho
 fate-filter-aecho: tests/data/asynth-44100-2.wav
 fate-filter-aecho: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
diff --git a/tests/ref/fate/filter-aderivative b/tests/ref/fate/filter-aderivative
new file mode 100644
index 0000000000..29c1fdb30e
--- /dev/null
+++ b/tests/ref/fate/filter-aderivative
@@ -0,0 +1,70 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0,          0,          0,     4096,    16384, 0xd6c0e8e3
+0,       4096,       4096,     4096,    16384, 0xe7dbe5b9
+0,       8192,       8192,     4096,    16384, 0xeeeee63d
+0,      12288,      12288,     4096,    16384, 0x7da1e701
+0,      16384,      16384,     4096,    16384, 0xfebbda7d
+0,      20480,      20480,     4096,    16384, 0xef1fdc07
+0,      24576,      24576,     4096,    16384, 0xa84cdb83
+0,      28672,      28672,     4096,    16384, 0x154fdcbd
+0,      32768,      32768,     4096,    16384, 0x5818e941
+0,      36864,      36864,     4096,    16384, 0xe7dbe5b9
+0,      40960,      40960,     4096,    16384, 0x9737843a
+0,      45056,      45056,     4096,    16384, 0x9572d907
+0,      49152,      49152,     4096,    16384, 0x330714d2
+0,      53248,      53248,     4096,    16384, 0x645daa75
+0,      57344,      57344,     4096,    16384, 0x5322f1b9
+0,      61440,      61440,     4096,    16384, 0x89080f7c
+0,      65536,      65536,     4096,    16384, 0x435cd08b
+0,      69632,      69632,     4096,    16384, 0x36bfa3af
+0,      73728,      73728,     4096,    16384, 0x3fbce4eb
+0,      77824,      77824,     4096,    16384, 0xc30b1b0c
+0,      81920,      81920,     4096,    16384, 0xb5e9cd43
+0,      86016,      86016,     4096,    16384, 0x74ba710f
+0,      90112,      90112,     4096,    16384, 0xabc2fbec
+0,      94208,      94208,     4096,    16384, 0x62c80705
+0,      98304,      98304,     4096,    16384, 0x9dd85c4d
+0,     102400,     102400,     4096,    16384, 0x21d0b07a
+0,     106496,     106496,     4096,    16384, 0x47abf156
+0,     110592,     110592,     4096,    16384, 0xa403e5ef
+0,     114688,     114688,     4096,    16384, 0x33a90708
+0,     118784,     118784,     4096,    16384, 0xda843c02
+0,     122880,     122880,     4096,    16384, 0x7139fac7
+0,     126976,     126976,     4096,    16384, 0x8e60ddf9
+0,     131072,     131072,     4096,    16384, 0x36e0c49d
+0,     135168,     135168,     4096,    16384, 0xa4f2e58f
+0,     139264,     139264,     4096,    16384, 0x801bd3c9
+0,     143360,     143360,     4096,    16384, 0xa393ca4e
+0,     147456,     147456,     4096,    16384, 0x0d8ee23c
+0,     151552,     151552,     4096,    16384, 0x3aacdc2b
+0,     155648,     155648,     4096,    16384, 0x42f6e56d
+0,     159744,     159744,     4096,    16384, 0xd459e432
+0,     163840,     163840,     4096,    16384, 0x71fcf11c
+0,     167936,     167936,     4096,    16384, 0x8f0fed4a
+0,     172032,     172032,     4096,    16384, 0x2f92dc12
+0,     176128,     176128,     4096,    16384, 0x4dc349a0
+0,     180224,     180224,     4096,    16384, 0x28cacefd
+0,     184320,     184320,     4096,    16384, 0xfc18a542
+0,     188416,     188416,     4096,    16384, 0x6f50ba16
+0,     192512,     192512,     4096,    16384, 0x923bc233
+0,     196608,     196608,     4096,    16384, 0x54efbcdd
+0,     200704,     200704,     4096,    16384, 0x846a9aa0
+0,     204800,     204800,     4096,    16384, 0x614ad5c1
+0,     208896,     208896,     4096,    16384, 0xd839bd90
+0,     212992,     212992,     4096,    16384, 0x28cacefd
+0,     217088,     217088,     4096,    16384, 0xfc18a542
+0,     221184,     221184,     4096,    16384, 0x6f50ba16
+0,     225280,     225280,     4096,    16384, 0x923bc233
+0,     229376,     229376,     4096,    16384, 0x54efbcdd
+0,     233472,     233472,     4096,    16384, 0x846a9aa0
+0,     237568,     237568,     4096,    16384, 0x614ad5c1
+0,     241664,     241664,     4096,    16384, 0xd839bd90
+0,     245760,     245760,     4096,    16384, 0x28cacefd
+0,     249856,     249856,     4096,    16384, 0xfc18a542
+0,     253952,     253952,     4096,    16384, 0x6f50ba16
+0,     258048,     258048,     4096,    16384, 0x923bc233
+0,     262144,     262144,     2456,     9824, 0x83fa1b45
diff --git a/tests/ref/fate/filter-aderivative-fltp b/tests/ref/fate/filter-aderivative-fltp
new file mode 100644
index 0000000000..471b731e30
--- /dev/null
+++ b/tests/ref/fate/filter-aderivative-fltp
@@ -0,0 +1,70 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0,          0,          0,     4096,    16384, 0xd6c0e8e3
+0,       4096,       4096,     4096,    16384, 0xe7dbe5b9
+0,       8192,       8192,     4096,    16384, 0xeeeee63d
+0,      12288,      12288,     4096,    16384, 0x7da1e701
+0,      16384,      16384,     4096,    16384, 0xfebbda7d
+0,      20480,      20480,     4096,    16384, 0xef1fdc07
+0,      24576,      24576,     4096,    16384, 0xa84cdb83
+0,      28672,      28672,     4096,    16384, 0x154fdcbd
+0,      32768,      32768,     4096,    16384, 0x5818e941
+0,      36864,      36864,     4096,    16384, 0xe7dbe5b9
+0,      40960,      40960,     4096,    16384, 0x9737843a
+0,      45056,      45056,     4096,    16384, 0x9572d907
+0,      49152,      49152,     4096,    16384, 0x330714d2
+0,      53248,      53248,     4096,    16384, 0x645daa75
+0,      57344,      57344,     4096,    16384, 0x5322f1b9
+0,      61440,      61440,     4096,    16384, 0x89080f7c
+0,      65536,      65536,     4096,    16384, 0x435cd08b
+0,      69632,      69632,     4096,    16384, 0x36bfa3af
+0,      73728,      73728,     4096,    16384, 0x3fbce4eb
+0,      77824,      77824,     4096,    16384, 0xc30b1b0c
+0,      81920,      81920,     4096,    16384, 0xb5e9cd43
+0,      86016,      86016,     4096,    16384, 0x74ba710f
+0,      90112,      90112,     4096,    16384, 0xabc2fbec
+0,      94208,      94208,     4096,    16384, 0x62c80705
+0,      98304,      98304,     4096,    16384, 0x9dd85c4d
+0,     102400,     102400,     4096,    16384, 0x21d0b07a
+0,     106496,     106496,     4096,    16384, 0xe1ebea58
+0,     110592,     110592,     4096,    16384, 0xf9a9ed19
+0,     114688,     114688,     4096,    16384, 0x9097fadf
+0,     118784,     118784,     4096,    16384, 0x8687615e
+0,     122880,     122880,     4096,    16384, 0xe6d1f30b
+0,     126976,     126976,     4096,    16384, 0xdc16b7db
+0,     131072,     131072,     4096,    16384, 0x2475aac5
+0,     135168,     135168,     4096,    16384, 0xa4f2e58f
+0,     139264,     139264,     4096,    16384, 0x801bd3c9
+0,     143360,     143360,     4096,    16384, 0xa393ca4e
+0,     147456,     147456,     4096,    16384, 0x0d8ee23c
+0,     151552,     151552,     4096,    16384, 0x3aacdc2b
+0,     155648,     155648,     4096,    16384, 0x42f6e56d
+0,     159744,     159744,     4096,    16384, 0xd459e432
+0,     163840,     163840,     4096,    16384, 0x71fcf11c
+0,     167936,     167936,     4096,    16384, 0x8f0fed4a
+0,     172032,     172032,     4096,    16384, 0x2f92dc12
+0,     176128,     176128,     4096,    16384, 0x4dc349a0
+0,     180224,     180224,     4096,    16384, 0x28cacefd
+0,     184320,     184320,     4096,    16384, 0xfc18a542
+0,     188416,     188416,     4096,    16384, 0x6f50ba16
+0,     192512,     192512,     4096,    16384, 0x923bc233
+0,     196608,     196608,     4096,    16384, 0x54efbcdd
+0,     200704,     200704,     4096,    16384, 0x846a9aa0
+0,     204800,     204800,     4096,    16384, 0x614ad5c1
+0,     208896,     208896,     4096,    16384, 0xd839bd90
+0,     212992,     212992,     4096,    16384, 0x28cacefd
+0,     217088,     217088,     4096,    16384, 0xfc18a542
+0,     221184,     221184,     4096,    16384, 0x6f50ba16
+0,     225280,     225280,     4096,    16384, 0x923bc233
+0,     229376,     229376,     4096,    16384, 0x54efbcdd
+0,     233472,     233472,     4096,    16384, 0x846a9aa0
+0,     237568,     237568,     4096,    16384, 0x614ad5c1
+0,     241664,     241664,     4096,    16384, 0xd839bd90
+0,     245760,     245760,     4096,    16384, 0x28cacefd
+0,     249856,     249856,     4096,    16384, 0xfc18a542
+0,     253952,     253952,     4096,    16384, 0x6f50ba16
+0,     258048,     258048,     4096,    16384, 0x923bc233
+0,     262144,     262144,     2456,     9824, 0x83fa1b45
diff --git a/tests/ref/fate/filter-aderivative-s32p b/tests/ref/fate/filter-aderivative-s32p
new file mode 100644
index 0000000000..7656493d3d
--- /dev/null
+++ b/tests/ref/fate/filter-aderivative-s32p
@@ -0,0 +1,70 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0,          0,          0,     4096,    16384, 0xd6c0e8e3
+0,       4096,       4096,     4096,    16384, 0xe7dbe5b9
+0,       8192,       8192,     4096,    16384, 0xeeeee63d
+0,      12288,      12288,     4096,    16384, 0x7da1e701
+0,      16384,      16384,     4096,    16384, 0xfebbda7d
+0,      20480,      20480,     4096,    16384, 0xef1fdc07
+0,      24576,      24576,     4096,    16384, 0xabf6df0f
+0,      28672,      28672,     4096,    16384, 0xedefe76f
+0,      32768,      32768,     4096,    16384, 0x02ebe66b
+0,      36864,      36864,     4096,    16384, 0x35bfe081
+0,      40960,      40960,     4096,    16384, 0xdbc2b3b9
+0,      45056,      45056,     4096,    16384, 0xe92bd835
+0,      49152,      49152,     4096,    16384, 0x1126dca3
+0,      53248,      53248,     4096,    16384, 0x9647edcf
+0,      57344,      57344,     4096,    16384, 0x5cc345aa
+0,      61440,      61440,     4096,    16384, 0x19d7bd51
+0,      65536,      65536,     4096,    16384, 0x19eccef7
+0,      69632,      69632,     4096,    16384, 0x4b68eeed
+0,      73728,      73728,     4096,    16384, 0x0b3d1bfc
+0,      77824,      77824,     4096,    16384, 0xe9b2e069
+0,      81920,      81920,     4096,    16384, 0xcaa5590e
+0,      86016,      86016,     4096,    16384, 0x47d0b227
+0,      90112,      90112,     4096,    16384, 0x446ba7a4
+0,      94208,      94208,     4096,    16384, 0x299b2e17
+0,      98304,      98304,     4096,    16384, 0xc51affa2
+0,     102400,     102400,     4096,    16384, 0xb4970fcf
+0,     106496,     106496,     4096,    16384, 0xe48af9fc
+0,     110592,     110592,     4096,    16384, 0xc2beffbb
+0,     114688,     114688,     4096,    16384, 0xb9d99627
+0,     118784,     118784,     4096,    16384, 0xb65a2086
+0,     122880,     122880,     4096,    16384, 0x6386714b
+0,     126976,     126976,     4096,    16384, 0x92a3171e
+0,     131072,     131072,     4096,    16384, 0x78bad1e2
+0,     135168,     135168,     4096,    16384, 0x63301330
+0,     139264,     139264,     4096,    16384, 0xd663b943
+0,     143360,     143360,     4096,    16384, 0xdcafe377
+0,     147456,     147456,     4096,    16384, 0xfb2cd701
+0,     151552,     151552,     4096,    16384, 0x91c30201
+0,     155648,     155648,     4096,    16384, 0xf23da341
+0,     159744,     159744,     4096,    16384, 0xe8d5fa0a
+0,     163840,     163840,     4096,    16384, 0x519bdfef
+0,     167936,     167936,     4096,    16384, 0xf2fcd803
+0,     172032,     172032,     4096,    16384, 0xd5ceccbc
+0,     176128,     176128,     4096,    16384, 0xd48ada43
+0,     180224,     180224,     4096,    16384, 0x5a4ac40f
+0,     184320,     184320,     4096,    16384, 0x29db868a
+0,     188416,     188416,     4096,    16384, 0xa2a0002b
+0,     192512,     192512,     4096,    16384, 0xbb0bd9f6
+0,     196608,     196608,     4096,    16384, 0x338dffa4
+0,     200704,     200704,     4096,    16384, 0x970b71f5
+0,     204800,     204800,     4096,    16384, 0x0521c397
+0,     208896,     208896,     4096,    16384, 0xff5ec9de
+0,     212992,     212992,     4096,    16384, 0x5a4ac40f
+0,     217088,     217088,     4096,    16384, 0x29db868a
+0,     221184,     221184,     4096,    16384, 0xa2a0002b
+0,     225280,     225280,     4096,    16384, 0xbb0bd9f6
+0,     229376,     229376,     4096,    16384, 0x338dffa4
+0,     233472,     233472,     4096,    16384, 0x970b71f5
+0,     237568,     237568,     4096,    16384, 0x0521c397
+0,     241664,     241664,     4096,    16384, 0xff5ec9de
+0,     245760,     245760,     4096,    16384, 0x5a4ac40f
+0,     249856,     249856,     4096,    16384, 0x29db868a
+0,     253952,     253952,     4096,    16384, 0xa2a0002b
+0,     258048,     258048,     4096,    16384, 0xbb0bd9f6
+0,     262144,     262144,     2456,     9824, 0xb3f84641
diff --git a/tests/ref/fate/filter-aintegral b/tests/ref/fate/filter-aintegral
new file mode 100644
index 0000000000..33b9cc6655
--- /dev/null
+++ b/tests/ref/fate/filter-aintegral
@@ -0,0 +1,70 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0,          0,          0,     4096,    16384, 0x7b6eaba2
+0,       4096,       4096,     4096,    16384, 0x54892376
+0,       8192,       8192,     4096,    16384, 0x66d1e047
+0,      12288,      12288,     4096,    16384, 0xdaea9baf
+0,      16384,      16384,     4096,    16384, 0x62974a85
+0,      20480,      20480,     4096,    16384, 0x4fbdc8bc
+0,      24576,      24576,     4096,    16384, 0xd8ea692c
+0,      28672,      28672,     4096,    16384, 0x07690588
+0,      32768,      32768,     4096,    16384, 0xa04cc6e1
+0,      36864,      36864,     4096,    16384, 0x75946719
+0,      40960,      40960,     4096,    16384, 0xcc39945e
+0,      45056,      45056,     4096,    16384, 0xdd5cf68e
+0,      49152,      49152,     4096,    16384, 0x80644455
+0,      53248,      53248,     4096,    16384, 0xa7bd5317
+0,      57344,      57344,     4096,    16384, 0x051f760c
+0,      61440,      61440,     4096,    16384, 0xa0f0d9fc
+0,      65536,      65536,     4096,    16384, 0x3f9cd25a
+0,      69632,      69632,     4096,    16384, 0x9c4311de
+0,      73728,      73728,     4096,    16384, 0x0d152283
+0,      77824,      77824,     4096,    16384, 0x7d002ed8
+0,      81920,      81920,     4096,    16384, 0x82829598
+0,      86016,      86016,     4096,    16384, 0x955dec75
+0,      90112,      90112,     4096,    16384, 0x04b0735b
+0,      94208,      94208,     4096,    16384, 0xf49c45cf
+0,      98304,      98304,     4096,    16384, 0x4d9f6220
+0,     102400,     102400,     4096,    16384, 0x2c843253
+0,     106496,     106496,     4096,    16384, 0x6f17c2c1
+0,     110592,     110592,     4096,    16384, 0x7855e9f3
+0,     114688,     114688,     4096,    16384, 0x0ec05ba9
+0,     118784,     118784,     4096,    16384, 0x6f17c2c1
+0,     122880,     122880,     4096,    16384, 0x6f17c2c1
+0,     126976,     126976,     4096,    16384, 0x6f17c2c1
+0,     131072,     131072,     4096,    16384, 0x6f17c2c1
+0,     135168,     135168,     4096,    16384, 0x6f17c2c1
+0,     139264,     139264,     4096,    16384, 0x6f17c2c1
+0,     143360,     143360,     4096,    16384, 0x6f17c2c1
+0,     147456,     147456,     4096,    16384, 0x6f17c2c1
+0,     151552,     151552,     4096,    16384, 0x6f17c2c1
+0,     155648,     155648,     4096,    16384, 0x6f17c2c1
+0,     159744,     159744,     4096,    16384, 0x6f17c2c1
+0,     163840,     163840,     4096,    16384, 0x6f17c2c1
+0,     167936,     167936,     4096,    16384, 0x6f17c2c1
+0,     172032,     172032,     4096,    16384, 0x6f17c2c1
+0,     176128,     176128,     4096,    16384, 0x6f17c2c1
+0,     180224,     180224,     4096,    16384, 0x6f17c2c1
+0,     184320,     184320,     4096,    16384, 0x6f17c2c1
+0,     188416,     188416,     4096,    16384, 0x6f17c2c1
+0,     192512,     192512,     4096,    16384, 0x6f17c2c1
+0,     196608,     196608,     4096,    16384, 0x6f17c2c1
+0,     200704,     200704,     4096,    16384, 0x6f17c2c1
+0,     204800,     204800,     4096,    16384, 0x6f17c2c1
+0,     208896,     208896,     4096,    16384, 0x6f17c2c1
+0,     212992,     212992,     4096,    16384, 0x6f17c2c1
+0,     217088,     217088,     4096,    16384, 0x6f17c2c1
+0,     221184,     221184,     4096,    16384, 0x6f17c2c1
+0,     225280,     225280,     4096,    16384, 0x6f17c2c1
+0,     229376,     229376,     4096,    16384, 0x6f17c2c1
+0,     233472,     233472,     4096,    16384, 0x6f17c2c1
+0,     237568,     237568,     4096,    16384, 0x6f17c2c1
+0,     241664,     241664,     4096,    16384, 0x6f17c2c1
+0,     245760,     245760,     4096,    16384, 0x6f17c2c1
+0,     249856,     249856,     4096,    16384, 0x6f17c2c1
+0,     253952,     253952,     4096,    16384, 0x6f17c2c1
+0,     258048,     258048,     4096,    16384, 0x6f17c2c1
+0,     262144,     262144,     2456,     9824, 0x7e40a344
diff --git a/tests/ref/fate/filter-aintegral-dblp b/tests/ref/fate/filter-aintegral-dblp
new file mode 100644
index 0000000000..33b9cc6655
--- /dev/null
+++ b/tests/ref/fate/filter-aintegral-dblp
@@ -0,0 +1,70 @@
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: pcm_s16le
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+0,          0,          0,     4096,    16384, 0x7b6eaba2
+0,       4096,       4096,     4096,    16384, 0x54892376
+0,       8192,       8192,     4096,    16384, 0x66d1e047
+0,      12288,      12288,     4096,    16384, 0xdaea9baf
+0,      16384,      16384,     4096,    16384, 0x62974a85
+0,      20480,      20480,     4096,    16384, 0x4fbdc8bc
+0,      24576,      24576,     4096,    16384, 0xd8ea692c
+0,      28672,      28672,     4096,    16384, 0x07690588
+0,      32768,      32768,     4096,    16384, 0xa04cc6e1
+0,      36864,      36864,     4096,    16384, 0x75946719
+0,      40960,      40960,     4096,    16384, 0xcc39945e
+0,      45056,      45056,     4096,    16384, 0xdd5cf68e
+0,      49152,      49152,     4096,    16384, 0x80644455
+0,      53248,      53248,     4096,    16384, 0xa7bd5317
+0,      57344,      57344,     4096,    16384, 0x051f760c
+0,      61440,      61440,     4096,    16384, 0xa0f0d9fc
+0,      65536,      65536,     4096,    16384, 0x3f9cd25a
+0,      69632,      69632,     4096,    16384, 0x9c4311de
+0,      73728,      73728,     4096,    16384, 0x0d152283
+0,      77824,      77824,     4096,    16384, 0x7d002ed8
+0,      81920,      81920,     4096,    16384, 0x82829598
+0,      86016,      86016,     4096,    16384, 0x955dec75
+0,      90112,      90112,     4096,    16384, 0x04b0735b
+0,      94208,      94208,     4096,    16384, 0xf49c45cf
+0,      98304,      98304,     4096,    16384, 0x4d9f6220
+0,     102400,     102400,     4096,    16384, 0x2c843253
+0,     106496,     106496,     4096,    16384, 0x6f17c2c1
+0,     110592,     110592,     4096,    16384, 0x7855e9f3
+0,     114688,     114688,     4096,    16384, 0x0ec05ba9
+0,     118784,     118784,     4096,    16384, 0x6f17c2c1
+0,     122880,     122880,     4096,    16384, 0x6f17c2c1
+0,     126976,     126976,     4096,    16384, 0x6f17c2c1
+0,     131072,     131072,     4096,    16384, 0x6f17c2c1
+0,     135168,     135168,     4096,    16384, 0x6f17c2c1
+0,     139264,     139264,     4096,    16384, 0x6f17c2c1
+0,     143360,     143360,     4096,    16384, 0x6f17c2c1
+0,     147456,     147456,     4096,    16384, 0x6f17c2c1
+0,     151552,     151552,     4096,    16384, 0x6f17c2c1
+0,     155648,     155648,     4096,    16384, 0x6f17c2c1
+0,     159744,     159744,     4096,    16384, 0x6f17c2c1
+0,     163840,     163840,     4096,    16384, 0x6f17c2c1
+0,     167936,     167936,     4096,    16384, 0x6f17c2c1
+0,     172032,     172032,     4096,    16384, 0x6f17c2c1
+0,     176128,     176128,     4096,    16384, 0x6f17c2c1
+0,     180224,     180224,     4096,    16384, 0x6f17c2c1
+0,     184320,     184320,     4096,    16384, 0x6f17c2c1
+0,     188416,     188416,     4096,    16384, 0x6f17c2c1
+0,     192512,     192512,     4096,    16384, 0x6f17c2c1
+0,     196608,     196608,     4096,    16384, 0x6f17c2c1
+0,     200704,     200704,     4096,    16384, 0x6f17c2c1
+0,     204800,     204800,     4096,    16384, 0x6f17c2c1
+0,     208896,     208896,     4096,    16384, 0x6f17c2c1
+0,     212992,     212992,     4096,    16384, 0x6f17c2c1
+0,     217088,     217088,     4096,    16384, 0x6f17c2c1
+0,     221184,     221184,     4096,    16384, 0x6f17c2c1
+0,     225280,     225280,     4096,    16384, 0x6f17c2c1
+0,     229376,     229376,     4096,    16384, 0x6f17c2c1
+0,     233472,     233472,     4096,    16384, 0x6f17c2c1
+0,     237568,     237568,     4096,    16384, 0x6f17c2c1
+0,     241664,     241664,     4096,    16384, 0x6f17c2c1
+0,     245760,     245760,     4096,    16384, 0x6f17c2c1
+0,     249856,     249856,     4096,    16384, 0x6f17c2c1
+0,     253952,     253952,     4096,    16384, 0x6f17c2c1
+0,     258048,     258048,     4096,    16384, 0x6f17c2c1
+0,     262144,     262144,     2456,     9824, 0x7e40a344
-- 
2.53.0

_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral
  2026-02-20 16:25 [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral marcos ashton via ffmpeg-devel
                   ` (2 preceding siblings ...)
  2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 3/3] tests/fate/filter-audio: add FATE tests for aderivative and aintegral marcos ashton via ffmpeg-devel
@ 2026-02-22 13:59 ` hassan hany via ffmpeg-devel
  2026-02-22 15:44   ` Marcos Ashton via ffmpeg-devel
  3 siblings, 1 reply; 8+ messages in thread
From: hassan hany via ffmpeg-devel @ 2026-02-22 13:59 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: hassan hany

you probably want to make a pr over at https://code.ffmpeg.org

On Fri, Feb 20, 2026 at 8:41 PM marcos ashton via ffmpeg-devel <
ffmpeg-devel@ffmpeg.org> wrote:

> Hi, this is my qualification task for the GSoC 2026
> "Improving FATE Test Coverage" project.
>
> This series adds 7 new FATE tests for three previously untested files:
>
> 1/3: Unit test for libavutil/film_grain_params.c (~98% coverage)
> 2/3: Encode/decode roundtrip for libavcodec/cngdec.c (~92% coverage)
> 3/3: Filter tests for libavfilter/af_aderivative.c (~87% coverage)
>
> marcos ashton (3):
>   tests/fate/libavutil: add FATE test for film_grain_params
>   tests/fate/voice: add FATE test for CNG encoder roundtrip
>   tests/fate/filter-audio: add FATE tests for aderivative and aintegral
>
>  libavutil/Makefile                     |   1 +
>  libavutil/tests/film_grain_params.c    | 240 +++++++++++++++++++++++++
>  tests/fate/filter-audio.mak            |  25 +++
>  tests/fate/libavutil.mak               |   4 +
>  tests/fate/voice.mak                   |   8 +
>  tests/ref/fate/cng-encode              |  84 +++++++++
>  tests/ref/fate/film_grain_params       |  30 ++++
>  tests/ref/fate/filter-aderivative      |  70 ++++++++
>  tests/ref/fate/filter-aderivative-fltp |  70 ++++++++
>  tests/ref/fate/filter-aderivative-s32p |  70 ++++++++
>  tests/ref/fate/filter-aintegral        |  70 ++++++++
>  tests/ref/fate/filter-aintegral-dblp   |  70 ++++++++
>  12 files changed, 742 insertions(+)
>  create mode 100644 libavutil/tests/film_grain_params.c
>  create mode 100644 tests/ref/fate/cng-encode
>  create mode 100644 tests/ref/fate/film_grain_params
>  create mode 100644 tests/ref/fate/filter-aderivative
>  create mode 100644 tests/ref/fate/filter-aderivative-fltp
>  create mode 100644 tests/ref/fate/filter-aderivative-s32p
>  create mode 100644 tests/ref/fate/filter-aintegral
>  create mode 100644 tests/ref/fate/filter-aintegral-dblp
>
> --
> 2.53.0
>
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral
  2026-02-22 13:59 ` [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral hassan hany via ffmpeg-devel
@ 2026-02-22 15:44   ` Marcos Ashton via ffmpeg-devel
  2026-02-22 15:51     ` hassan hany via ffmpeg-devel
  0 siblings, 1 reply; 8+ messages in thread
From: Marcos Ashton via ffmpeg-devel @ 2026-02-22 15:44 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: Marcos Ashton

Hi Hassan,

Thanks for the suggestion! I submitted via the mailing list as that's what
the developer docs and the GSoC project page pointed me to is
code.ffmpeg.org now the preferred place for new patches? Happy to mirror
there too if it helps with review.

Marcos

On Sun, 22 Feb 2026 at 13:59, hassan hany via ffmpeg-devel <
ffmpeg-devel@ffmpeg.org> wrote:

> you probably want to make a pr over at https://code.ffmpeg.org
>
> On Fri, Feb 20, 2026 at 8:41 PM marcos ashton via ffmpeg-devel <
> ffmpeg-devel@ffmpeg.org> wrote:
>
> > Hi, this is my qualification task for the GSoC 2026
> > "Improving FATE Test Coverage" project.
> >
> > This series adds 7 new FATE tests for three previously untested files:
> >
> > 1/3: Unit test for libavutil/film_grain_params.c (~98% coverage)
> > 2/3: Encode/decode roundtrip for libavcodec/cngdec.c (~92% coverage)
> > 3/3: Filter tests for libavfilter/af_aderivative.c (~87% coverage)
> >
> > marcos ashton (3):
> >   tests/fate/libavutil: add FATE test for film_grain_params
> >   tests/fate/voice: add FATE test for CNG encoder roundtrip
> >   tests/fate/filter-audio: add FATE tests for aderivative and aintegral
> >
> >  libavutil/Makefile                     |   1 +
> >  libavutil/tests/film_grain_params.c    | 240 +++++++++++++++++++++++++
> >  tests/fate/filter-audio.mak            |  25 +++
> >  tests/fate/libavutil.mak               |   4 +
> >  tests/fate/voice.mak                   |   8 +
> >  tests/ref/fate/cng-encode              |  84 +++++++++
> >  tests/ref/fate/film_grain_params       |  30 ++++
> >  tests/ref/fate/filter-aderivative      |  70 ++++++++
> >  tests/ref/fate/filter-aderivative-fltp |  70 ++++++++
> >  tests/ref/fate/filter-aderivative-s32p |  70 ++++++++
> >  tests/ref/fate/filter-aintegral        |  70 ++++++++
> >  tests/ref/fate/filter-aintegral-dblp   |  70 ++++++++
> >  12 files changed, 742 insertions(+)
> >  create mode 100644 libavutil/tests/film_grain_params.c
> >  create mode 100644 tests/ref/fate/cng-encode
> >  create mode 100644 tests/ref/fate/film_grain_params
> >  create mode 100644 tests/ref/fate/filter-aderivative
> >  create mode 100644 tests/ref/fate/filter-aderivative-fltp
> >  create mode 100644 tests/ref/fate/filter-aderivative-s32p
> >  create mode 100644 tests/ref/fate/filter-aintegral
> >  create mode 100644 tests/ref/fate/filter-aintegral-dblp
> >
> > --
> > 2.53.0
> >
> > _______________________________________________
> > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> >
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral
  2026-02-22 15:44   ` Marcos Ashton via ffmpeg-devel
@ 2026-02-22 15:51     ` hassan hany via ffmpeg-devel
  2026-02-22 17:14       ` Marcos Ashton via ffmpeg-devel
  0 siblings, 1 reply; 8+ messages in thread
From: hassan hany via ffmpeg-devel @ 2026-02-22 15:51 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: hassan hany

yes basically the readme is outdated and most development happens in
http://code.ffmpeg.org is atm the preferred place for new patches (and
where you are most likely to have your patch be seen/reviewed) the
contributing markdown file has been updated to reflect this (
https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/c7b5f1537d9c52efa50fd10d106ca015ddde1818
)

On Sun, Feb 22, 2026 at 5:44 PM Marcos Ashton via ffmpeg-devel <
ffmpeg-devel@ffmpeg.org> wrote:

> Hi Hassan,
>
> Thanks for the suggestion! I submitted via the mailing list as that's what
> the developer docs and the GSoC project page pointed me to is
> code.ffmpeg.org now the preferred place for new patches? Happy to mirror
> there too if it helps with review.
>
> Marcos
>
> On Sun, 22 Feb 2026 at 13:59, hassan hany via ffmpeg-devel <
> ffmpeg-devel@ffmpeg.org> wrote:
>
> > you probably want to make a pr over at https://code.ffmpeg.org
> >
> > On Fri, Feb 20, 2026 at 8:41 PM marcos ashton via ffmpeg-devel <
> > ffmpeg-devel@ffmpeg.org> wrote:
> >
> > > Hi, this is my qualification task for the GSoC 2026
> > > "Improving FATE Test Coverage" project.
> > >
> > > This series adds 7 new FATE tests for three previously untested files:
> > >
> > > 1/3: Unit test for libavutil/film_grain_params.c (~98% coverage)
> > > 2/3: Encode/decode roundtrip for libavcodec/cngdec.c (~92% coverage)
> > > 3/3: Filter tests for libavfilter/af_aderivative.c (~87% coverage)
> > >
> > > marcos ashton (3):
> > >   tests/fate/libavutil: add FATE test for film_grain_params
> > >   tests/fate/voice: add FATE test for CNG encoder roundtrip
> > >   tests/fate/filter-audio: add FATE tests for aderivative and aintegral
> > >
> > >  libavutil/Makefile                     |   1 +
> > >  libavutil/tests/film_grain_params.c    | 240 +++++++++++++++++++++++++
> > >  tests/fate/filter-audio.mak            |  25 +++
> > >  tests/fate/libavutil.mak               |   4 +
> > >  tests/fate/voice.mak                   |   8 +
> > >  tests/ref/fate/cng-encode              |  84 +++++++++
> > >  tests/ref/fate/film_grain_params       |  30 ++++
> > >  tests/ref/fate/filter-aderivative      |  70 ++++++++
> > >  tests/ref/fate/filter-aderivative-fltp |  70 ++++++++
> > >  tests/ref/fate/filter-aderivative-s32p |  70 ++++++++
> > >  tests/ref/fate/filter-aintegral        |  70 ++++++++
> > >  tests/ref/fate/filter-aintegral-dblp   |  70 ++++++++
> > >  12 files changed, 742 insertions(+)
> > >  create mode 100644 libavutil/tests/film_grain_params.c
> > >  create mode 100644 tests/ref/fate/cng-encode
> > >  create mode 100644 tests/ref/fate/film_grain_params
> > >  create mode 100644 tests/ref/fate/filter-aderivative
> > >  create mode 100644 tests/ref/fate/filter-aderivative-fltp
> > >  create mode 100644 tests/ref/fate/filter-aderivative-s32p
> > >  create mode 100644 tests/ref/fate/filter-aintegral
> > >  create mode 100644 tests/ref/fate/filter-aintegral-dblp
> > >
> > > --
> > > 2.53.0
> > >
> > > _______________________________________________
> > > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> > >
> > _______________________________________________
> > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> >
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral
  2026-02-22 15:51     ` hassan hany via ffmpeg-devel
@ 2026-02-22 17:14       ` Marcos Ashton via ffmpeg-devel
  0 siblings, 0 replies; 8+ messages in thread
From: Marcos Ashton via ffmpeg-devel @ 2026-02-22 17:14 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: Marcos Ashton

Thanks for the response i'll get on that

On Sun, 22 Feb 2026 at 15:51, hassan hany via ffmpeg-devel <
ffmpeg-devel@ffmpeg.org> wrote:

> yes basically the readme is outdated and most development happens in
> http://code.ffmpeg.org is atm the preferred place for new patches (and
> where you are most likely to have your patch be seen/reviewed) the
> contributing markdown file has been updated to reflect this (
>
> https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/c7b5f1537d9c52efa50fd10d106ca015ddde1818
> )
>
> On Sun, Feb 22, 2026 at 5:44 PM Marcos Ashton via ffmpeg-devel <
> ffmpeg-devel@ffmpeg.org> wrote:
>
> > Hi Hassan,
> >
> > Thanks for the suggestion! I submitted via the mailing list as that's
> what
> > the developer docs and the GSoC project page pointed me to is
> > code.ffmpeg.org now the preferred place for new patches? Happy to mirror
> > there too if it helps with review.
> >
> > Marcos
> >
> > On Sun, 22 Feb 2026 at 13:59, hassan hany via ffmpeg-devel <
> > ffmpeg-devel@ffmpeg.org> wrote:
> >
> > > you probably want to make a pr over at https://code.ffmpeg.org
> > >
> > > On Fri, Feb 20, 2026 at 8:41 PM marcos ashton via ffmpeg-devel <
> > > ffmpeg-devel@ffmpeg.org> wrote:
> > >
> > > > Hi, this is my qualification task for the GSoC 2026
> > > > "Improving FATE Test Coverage" project.
> > > >
> > > > This series adds 7 new FATE tests for three previously untested
> files:
> > > >
> > > > 1/3: Unit test for libavutil/film_grain_params.c (~98% coverage)
> > > > 2/3: Encode/decode roundtrip for libavcodec/cngdec.c (~92% coverage)
> > > > 3/3: Filter tests for libavfilter/af_aderivative.c (~87% coverage)
> > > >
> > > > marcos ashton (3):
> > > >   tests/fate/libavutil: add FATE test for film_grain_params
> > > >   tests/fate/voice: add FATE test for CNG encoder roundtrip
> > > >   tests/fate/filter-audio: add FATE tests for aderivative and
> aintegral
> > > >
> > > >  libavutil/Makefile                     |   1 +
> > > >  libavutil/tests/film_grain_params.c    | 240
> +++++++++++++++++++++++++
> > > >  tests/fate/filter-audio.mak            |  25 +++
> > > >  tests/fate/libavutil.mak               |   4 +
> > > >  tests/fate/voice.mak                   |   8 +
> > > >  tests/ref/fate/cng-encode              |  84 +++++++++
> > > >  tests/ref/fate/film_grain_params       |  30 ++++
> > > >  tests/ref/fate/filter-aderivative      |  70 ++++++++
> > > >  tests/ref/fate/filter-aderivative-fltp |  70 ++++++++
> > > >  tests/ref/fate/filter-aderivative-s32p |  70 ++++++++
> > > >  tests/ref/fate/filter-aintegral        |  70 ++++++++
> > > >  tests/ref/fate/filter-aintegral-dblp   |  70 ++++++++
> > > >  12 files changed, 742 insertions(+)
> > > >  create mode 100644 libavutil/tests/film_grain_params.c
> > > >  create mode 100644 tests/ref/fate/cng-encode
> > > >  create mode 100644 tests/ref/fate/film_grain_params
> > > >  create mode 100644 tests/ref/fate/filter-aderivative
> > > >  create mode 100644 tests/ref/fate/filter-aderivative-fltp
> > > >  create mode 100644 tests/ref/fate/filter-aderivative-s32p
> > > >  create mode 100644 tests/ref/fate/filter-aintegral
> > > >  create mode 100644 tests/ref/fate/filter-aintegral-dblp
> > > >
> > > > --
> > > > 2.53.0
> > > >
> > > > _______________________________________________
> > > > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > > > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> > > >
> > > _______________________________________________
> > > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> > >
> > _______________________________________________
> > ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> > To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
> >
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-02-22 18:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-20 16:25 [FFmpeg-devel] [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral marcos ashton via ffmpeg-devel
2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params marcos ashton via ffmpeg-devel
2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 2/3] tests/fate/voice: add FATE test for CNG encoder roundtrip marcos ashton via ffmpeg-devel
2026-02-20 16:25 ` [FFmpeg-devel] [PATCH 3/3] tests/fate/filter-audio: add FATE tests for aderivative and aintegral marcos ashton via ffmpeg-devel
2026-02-22 13:59 ` [FFmpeg-devel] Re: [PATCH 0/3] tests: improve FATE coverage for film_grain_params, CNG, aderivative/aintegral hassan hany via ffmpeg-devel
2026-02-22 15:44   ` Marcos Ashton via ffmpeg-devel
2026-02-22 15:51     ` hassan hany via ffmpeg-devel
2026-02-22 17:14       ` Marcos Ashton via ffmpeg-devel

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