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 48ACC4F34E for ; Sun, 22 Feb 2026 18:13:03 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'g6dmcG9bWBA9UkImZJiKvp175F1zJA1+H46z/V3Xp2Q=', expected b'3ISexGNMY4d7ypaSsqH74SKKFV/guPb/HYhdOVzdQEg=')) 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=1771781720; 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=g6dmcG9bWBA9UkImZJiKvp175F1zJA1+H46z/V3Xp2Q=; b=4ugM0LQZI9odPpN17NDQKLxwExT+RYQkdLz+WcAPQJADZN4ORbrT02GUNWWzgRKHxkGfi Ppg9HJ9icgHEYXE7IgiKOOWYKTlRD/qqRowiZIDn781/bvqty+XfHZOCSNqy8FdmTO35NhP 0jiacffpjnQAWNtS8tVnVtjfRkOZL12Xi8um/iBYgsx3ggOASUG4978cWeRErU1uaGK/bkA 0KekiiTNs/UcOp+7l0Bjjv4GdZNKha9z5untlgdc1WN7WY8En+6OFnByt7nvtykS/JPKw/4 6Otkf+7DosMpRIysy6Dnm7IZ6UEQTKsgbAGk2RccTle770jZeI/pvMXe5tGg== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 5ADF8691310; Sun, 22 Feb 2026 19:35:20 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1771781705; b=BFzvRDn2MIMBa+1i+VquAePw+Ebwee80yLFNCjaKgMk/wu0Si7qMCAwmk3YWLUxIpLzfR 44KQi2SFDx5nI47JzIUrv/bRzzulnuQysI5/33BhNyYAhgmp21Ys2iszc8Cxgel95r9iyUu tuBsVHI1mvDUyb86X4Gbw9l6s3Q+FTahvgrvP6Qt75fcvyWWGfzX3a1DVya+GDDqJOqvwbh 1R6I1TdaCy+K/ykYDGdtJ8W/lPJK6217vs2Bd9yKDTmdBXyLxg57GcwhRrVS4TLX2xAlHaz +X7YCQTuTMUtZP0KciCg1t6lgRIhD0hIp5N5jIujoxplSwwzhIMofU6xbMpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1771781705; 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=Sm4S9W6LSaWOlUBmWjrP2ZZgld5q/6cILO7tnPehRpk=; b=EkmQs585gpixlZQeJnjEuutSgjiXXDyQrUrR54A92JXo9SFZ7evlAEByJmi9FSMzEQgRR k/FYD8Lv7yladjcVGJ56U8aaIlW6OMo6n2f2Lb5AYUvG71T5WgJHUk6odePXSMNnYBCtfbi bvQpkQKT9DDFFe+XySz4sPTiEU+McKyssAXv9xKZYL6SGJG4LdvJF74IO0l0w3siGLlCQGQ twovIe/ihGUt6MuIO3/OdgLWPyDKbUfRhxsAA0rL/xpfMFPdw0KZh6M+nKjKwDHBPMk+la1 l9Oi5IQE+48cm6cx+QyDjtbVqoX7+QLi81LXBsqWpmSOGoYFRUfIJ1vC+Eyw== 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=1771781697; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=3ISexGNMY4d7ypaSsqH74SKKFV/guPb/HYhdOVzdQEg=; b=hmqTHEfzuN2/2qHwCCfA76/UoG+LIXivT+wJOWSMYbBz7UvrbpKSqLYewVWXbvjiYgJCA 6WRYdInovidhhB08FRfJWKnDoFZHrsUGkWVjbHuJIFOVrE2gaLt8cPsRLKpwtQGyVZyJL5K MhARKhdCBo0qE9KLiY8pv/OvZZHslbei6OB5+qL+zJe1PrStAyqtmr1ETaeRV+ZWqdXLqDT vjGpDqKheW88Bdj9pzdKhcp5IeyQyajXjotNxK0Km4EGB5RbH4DdWTZtSzsik97ZDZkBT58 f0Py5xL4shuYTbAG4rZRUt6hFkxoIY4xF9yKqve9DTYPqUAV08Ab2QsslvQQ== MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Sun, 22 Feb 2026 17:34:57 -0000 Message-ID: <177178169796.25.8881745430647076060@29965ddac10e> Message-ID-Hash: VGWAKBGIOT6DNZYHKUCBM5BVVZYFBUGC X-Message-ID-Hash: VGWAKBGIOT6DNZYHKUCBM5BVVZYFBUGC 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] [PR] tests/fate: add FATE tests for film_grain_params, CNG roundtrip, aderivative/aintegral (PR #22258) 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: MarcosAsh via ffmpeg-devel Cc: MarcosAsh Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #22258 opened by MarcosAsh URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22258 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22258.patch ### 1. `film_grain_params` (libavutil) - Unit test covering `av_film_grain_params_alloc`, `av_film_grain_params_create_side_data`, and `av_film_grain_params_select` for both AV1 and H.274 film grain parameter types (22 test cases). ### 2. CNG encoder roundtrip (voice) - Encode/decode roundtrip test for the Comfort Noise Generator codec using the NUT container, validating that the codec pipeline works end-to-end. ### 3. `aderivative` and `aintegral` audio filters - framecrc tests covering `aderivative` (s16, fltp, s32p with timeline editing) and `aintegral` (s16, dblp) filters. *Submitted as part of a GSoC 2026 qualification task for the "Improving FATE Test Coverage" project.* >>From f8240c71ab4dc24c1215ffb0b9020ee4e2ec3765 Mon Sep 17 00:00:00 2001 From: marcos ashton Date: Fri, 20 Feb 2026 15:48:15 +0000 Subject: [PATCH 1/3] tests/fate/libavutil: add FATE test for film_grain_params 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 --- 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 + +#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.52.0 >>From 5cb03fa975ba2bb6ba230d69bd97361a9bce656d Mon Sep 17 00:00:00 2001 From: marcos ashton Date: Fri, 20 Feb 2026 15:48:32 +0000 Subject: [PATCH 2/3] tests/fate/voice: add FATE test for CNG encoder roundtrip 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 --- 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.52.0 >>From a0ef957b48b27e4c8b0d29e8c7d38c159ae56f61 Mon Sep 17 00:00:00 2001 From: marcos ashton Date: Fri, 20 Feb 2026 15:53:54 +0000 Subject: [PATCH 3/3] tests/fate/filter-audio: add FATE tests for aderivative and aintegral Add framecrc tests covering aderivative (s16, fltp, s32p with timeline editing) and aintegral (s16, dblp) filters. Signed-off-by: marcos ashton --- 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.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org