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 v2 00/20] fate: fix several dependencies
@ 2025-06-23 17:41 Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 01/20] tests/Makefile: make easier to check for multiple dependencies Nicolas Gaullier
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

For remembering
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-October/335422.html

This v2 is a "full rebase", which means
some problems have been fixed in the while (not many),
some others are new.

Nicolas Gaullier (20):
  tests/Makefile: make easier to check for multiple dependencies
  fate/all: add missing dependencies for extradata bsf
  fate/demux: fix multiple dependencies
  fate/all: switch-fix mov muxer dependency to mp4 muxer dependency
  fate/mov: fix multiple dependencies
  fate/gapless: fix multiple dependencies
  fate/lavf-container: fix multiple dependencies
  fate/vorbis: fix multiple dependencies
  fate/aac: fix multiple dependencies
  fate/audio: fix multiple dependencies
  fate/ac3: fix multiple dependencies
  fate/cover-art: fix multiple dependencies
  fate/hlsenc: fix multiple dependencies
  fate/mpeg4: fix multiple dependencies
  fate/pcm: fix multiple dependencies
  fate/hevc: fix multiple dependencies
  fate/all: fix multiple dependencies
  fate/all: add missing file protocol dependencies
  fate/all: add missing crc/framecrc/md5/framemd5/pipe dependencies
  libavcodec/tests: fix gitignore hashtable

 libavcodec/tests/.gitignore   |   1 +
 tests/Makefile                |  20 ++++---
 tests/fate/aac.mak            |  14 ++---
 tests/fate/ac3.mak            |  10 ++--
 tests/fate/acodec.mak         |   4 +-
 tests/fate/adpcm.mak          |  38 ++++++-------
 tests/fate/alac.mak           |   2 +-
 tests/fate/als.mak            |   3 +-
 tests/fate/amrnb.mak          |   2 +-
 tests/fate/amrwb.mak          |   2 +-
 tests/fate/api.mak            |   2 +-
 tests/fate/apng.mak           |   2 +-
 tests/fate/atrac.mak          |   6 +-
 tests/fate/audio.mak          |  32 +++++------
 tests/fate/caf.mak            |   2 +-
 tests/fate/cbs.mak            |   6 +-
 tests/fate/concatdec.mak      |   2 +-
 tests/fate/cover-art.mak      |  24 ++++----
 tests/fate/demux.mak          | 104 +++++++++++++++++-----------------
 tests/fate/dpcm.mak           |   4 +-
 tests/fate/enc_external.mak   |   6 +-
 tests/fate/ffmpeg.mak         |  10 ++--
 tests/fate/fifo-muxer.mak     |   2 +-
 tests/fate/filter-audio.mak   |  24 ++++----
 tests/fate/filter-video.mak   |  22 +++----
 tests/fate/fits.mak           |   4 +-
 tests/fate/flac.mak           |   2 +-
 tests/fate/flvenc.mak         |   2 +-
 tests/fate/gapless.mak        |  78 ++++++++++++-------------
 tests/fate/gif.mak            |   2 +-
 tests/fate/h264.mak           |  14 +++--
 tests/fate/hevc.mak           |  10 ++--
 tests/fate/hlsenc.mak         |  20 ++++---
 tests/fate/image.mak          |   6 +-
 tests/fate/imf.mak            |   3 +-
 tests/fate/indeo.mak          |  18 +++---
 tests/fate/lavf-container.mak |  32 +++++------
 tests/fate/lavf-video.mak     |   2 +-
 tests/fate/libavformat.mak    |   2 +-
 tests/fate/libswresample.mak  |   2 +-
 tests/fate/lossless-audio.mak |   8 +--
 tests/fate/matroska.mak       |  31 +++++-----
 tests/fate/microsoft.mak      |   4 +-
 tests/fate/monkeysaudio.mak   |   3 +-
 tests/fate/mov.mak            |  52 +++++++++--------
 tests/fate/mp3.mak            |   2 +-
 tests/fate/mpc.mak            |   8 +--
 tests/fate/mpeg4.mak          |  11 ++--
 tests/fate/mpegps.mak         |   2 +-
 tests/fate/ogg-flac.mak       |   2 +-
 tests/fate/oma.mak            |   2 +-
 tests/fate/pcm.mak            |  19 ++++---
 tests/fate/pixfmt.mak         |   1 +
 tests/fate/qoa.mak            |   6 +-
 tests/fate/real.mak           |  16 +++---
 tests/fate/seek.mak           |   8 +--
 tests/fate/segment.mak        |   6 +-
 tests/fate/subtitles.mak      |   7 ++-
 tests/fate/vcodec.mak         |   4 +-
 tests/fate/video.mak          |   4 +-
 tests/fate/voice.mak          |  16 +++---
 tests/fate/vorbis.mak         |  24 ++++----
 tests/fate/vpx.mak            |   4 +-
 tests/fate/vqf.mak            |   4 +-
 tests/fate/wavpack.mak        |   2 +-
 tests/fate/wma.mak            |  16 +++---
 tests/fate/xvid.mak           |   2 +-
 67 files changed, 415 insertions(+), 390 deletions(-)

-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 01/20] tests/Makefile: make easier to check for multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 02/20] fate/all: add missing dependencies for extradata bsf Nicolas Gaullier
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

---
 tests/Makefile | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/Makefile b/tests/Makefile
index 505d7f9c6d..7187b744cb 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -97,21 +97,21 @@ TRANSCODE = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \
 REMUX = $(call ALLYES, $(firstword $(1))_MUXER $(lastword $(1))_DEMUXER \
                        $(2) FILE_PROTOCOL PIPE_PROTOCOL FRAMECRC_MUXER)
 
-DEMDEC  = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3) FILE_PROTOCOL)
-ENCMUX  = $(call ALLYES, $(1:%=%_ENCODER) $(2)_MUXER   $(3))
+DEMDEC  = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3) FILE_PROTOCOL)
+ENCMUX  = $(call ALLYES, $(1:%=%_ENCODER) $(2:%=%_MUXER)   $(3))
 
-FRAMEMD5 = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3)                  \
+FRAMEMD5 = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3)              \
                           PCM_S16LE_ENCODER RAWVIDEO_ENCODER FRAMEMD5_MUXER   \
                           PIPE_PROTOCOL FILE_PROTOCOL)
-FRAMECRC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3)                  \
+FRAMECRC = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3)              \
                           PCM_S16LE_ENCODER RAWVIDEO_ENCODER FRAMECRC_MUXER   \
                           PIPE_PROTOCOL FILE_PROTOCOL)
 
 # Variant of DEMDEC for use with the "pcm" command.
-PCM = $(call ALLYES, $(1)_DEMUXER $(2)_DECODER  $(3) FILE_PROTOCOL            \
+PCM = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER)  $(3) FILE_PROTOCOL    \
                      PCM_S16LE_ENCODER PCM_S16LE_MUXER PIPE_PROTOCOL)
 
-DEMMUX  = $(call ALLYES, $(1)_DEMUXER $(2)_MUXER $(3) FILE_PROTOCOL)
+DEMMUX  = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_MUXER) $(3) FILE_PROTOCOL)
 
 # Variant of FRAMECRC for the cases with -lavfi where no demuxer is involved.
 FILTERFRAMECRC     = $(call ALLYES, $(1:%=%_FILTER) $(2) PCM_S16LE_ENCODER    \
@@ -120,9 +120,9 @@ FILTERFRAMECRC     = $(call ALLYES, $(1:%=%_FILTER) $(2) PCM_S16LE_ENCODER    \
 FILTERDEMDEC       = $(call ALLYES, $(1:%=%_FILTER) $(2:%=%_DEMUXER) $(3:%=%_DECODER) \
                                     $(4) PCM_S16LE_ENCODER RAWVIDEO_ENCODER   \
                                     FRAMECRC_MUXER FILE_PROTOCOL PIPE_PROTOCOL)
-FILTERDEMDECENCMUX = $(call ALLYES, $(1:%=%_FILTER) $(2)_DEMUXER $(3)_DECODER $(4)_ENCODER $(5)_MUXER $(6) FILE_PROTOCOL)
+FILTERDEMDECENCMUX = $(call ALLYES, $(1:%=%_FILTER) $(2:%=%_DEMUXER) $(3:%=%_DECODER) $(4:%=%_ENCODER) $(5:%=%_MUXER) $(6) FILE_PROTOCOL)
 
-PARSERDEMDEC       = $(call ALLYES, $(1)_PARSER $(2)_DEMUXER $(3)_DECODER $(4) FILE_PROTOCOL)
+PARSERDEMDEC       = $(call ALLYES, $(1:%=%_PARSER) $(2:%=%_DEMUXER) $(3:%=%_DECODER) $(4) FILE_PROTOCOL)
 
 # Allow overriding CONFIG_LARGE_TESTS via LARGE_TESTS, if set on the
 # make command line.
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 02/20] fate/all: add missing dependencies for extradata bsf
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 01/20] tests/Makefile: make easier to check for multiple dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 03/20] fate/demux: fix multiple dependencies Nicolas Gaullier
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

---
 tests/fate/concatdec.mak      |  2 +-
 tests/fate/demux.mak          | 16 ++++++++--------
 tests/fate/flvenc.mak         |  2 +-
 tests/fate/h264.mak           |  8 +++++---
 tests/fate/hevc.mak           |  4 ++--
 tests/fate/lavf-container.mak |  8 ++++----
 tests/fate/segment.mak        |  2 +-
 7 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/tests/fate/concatdec.mak b/tests/fate/concatdec.mak
index c0dc6d4c94..9b21f1dd4b 100644
--- a/tests/fate/concatdec.mak
+++ b/tests/fate/concatdec.mak
@@ -23,5 +23,5 @@ $(foreach D,$(FATE_CONCAT_DEMUXER_EXTENDED_LAVF),$(eval fate-concat-demuxer-exte
 $(foreach D,$(FATE_CONCAT_DEMUXER_EXTENDED_LAVF),$(eval fate-concat-demuxer-extended-lavf-$(D): CMD = concat $(SRC_PATH)/tests/extended.ffconcat ../lavf/lavf.$(D) md5))
 FATE_CONCAT_DEMUXER += $(FATE_CONCAT_DEMUXER_EXTENDED_LAVF:%=fate-concat-demuxer-extended-lavf-%)
 
-FATE_CONCAT_DEMUXER := $(if $(CONFIG_CONCAT_DEMUXER), $(FATE_CONCAT_DEMUXER))
+FATE_CONCAT_DEMUXER := $(if $(call ALLYES, CONCAT_DEMUXER EXTRACT_EXTRADATA_BSF), $(FATE_CONCAT_DEMUXER))
 FATE_FFPROBE += $(FATE_CONCAT_DEMUXER)
diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
index ead5ad4b10..a654cdcbbf 100644
--- a/tests/fate/demux.mak
+++ b/tests/fate/demux.mak
@@ -13,7 +13,7 @@ fate-aa-demux: CMD = framecrc -i $(TARGET_SAMPLES)/aa/bush.aa -c:a copy
 FATE_SAMPLES_DEMUX-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
 fate-aea-demux: CMD = crc -i $(TARGET_SAMPLES)/aea/chirp.aea -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AV1, AV1) += fate-av1-annexb-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, AV1, AV1, EXTRACT_EXTRADATA_BSF) += fate-av1-annexb-demux
 fate-av1-annexb-demux: CMD = framecrc -c:v av1 -i $(TARGET_SAMPLES)/av1/annexb.obu -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_AST_DEMUXER) += fate-ast
@@ -29,7 +29,7 @@ fate-bcstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/loz-mm-mikau.bcstm -c:a copy
 FATE_SAMPLES_DEMUX-$(CONFIG_BRSTM_DEMUXER) += fate-brstm
 fate-brstm: CMD = crc -i $(TARGET_SAMPLES)/brstm/lozswd_partial.brstm -c:a copy
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, CAVSVIDEO_DEMUXER CAVSVIDEO_PARSER) += fate-cavs-demux
+FATE_FFPROBE_DEMUX-$(call ALLYES, CAVSVIDEO_DEMUXER CAVSVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-cavs-demux
 fate-cavs-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/cavs/bunny.mp4
 
 FATE_SAMPLES_DEMUX-$(CONFIG_CDXL_DEMUXER) += fate-cdxl-demux
@@ -54,13 +54,13 @@ fate-flv-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/flv/Enigma_Principles_of_L
 FATE_SAMPLES_DEMUX-$(CONFIG_GIF_DEMUXER) += fate-gif-demux
 fate-gif-demux: CMD = framecrc -i $(TARGET_SAMPLES)/gif/Newtons_cradle_animation_book_2.gif -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER) += fate-iv8-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-iv8-demux
 fate-iv8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/iv8/zzz-partial.mpg -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_JV_DEMUXER) += fate-jv-demux
 fate-jv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/jv/intro.jv -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER) += fate-lmlm4-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-lmlm4-demux
 fate-lmlm4-demux: CMD = framecrc -i $(TARGET_SAMPLES)/lmlm4/LMLM4_CIFat30fps.divx -t 3 -c:a copy -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_XA_DEMUXER) += fate-maxis-xa
@@ -82,7 +82,7 @@ fate-mov-mp3-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mpegaudio/packed_maindat
 FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER ARESAMPLE_FILTER) += fate-ts-opus-demux
 fate-ts-opus-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/opus/test-8-7.1.opus-small.ts
 
-FATE_FFPROBE_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-small-demux
+FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-ts-small-demux
 fate-ts-small-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/mpegts/h264small.ts
 
 FATE_SAMPLES_DEMUX-$(CONFIG_MTV_DEMUXER) += fate-mtv
@@ -91,7 +91,7 @@ fate-mtv: CMD = framecrc -i $(TARGET_SAMPLES)/mtv/comedian_auto-partial.mtv -c c
 FATE_SAMPLES_DEMUX-$(call DEMDEC, MXF, MPEG4) += fate-mxf-demux
 fate-mxf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mxf/C0023S01.mxf -c:a copy -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER) += fate-nc-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-nc-demux
 fate-nc-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nc-camera/nc-sample-partial -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_NISTSPHERE_DEMUXER) += fate-nistsphere-demux
@@ -148,7 +148,7 @@ fate-wav-ac3: CMD = framecrc -i $(TARGET_SAMPLES)/ac3/diatonis_invisible_order_a
 FATE_SAMPLES_DEMUX-$(CONFIG_WSAUD_DEMUXER) += fate-westwood-aud
 fate-westwood-aud: CMD = framecrc -i $(TARGET_SAMPLES)/westwood-aud/excellent.aud -c copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, WTV_DEMUXER MPEGVIDEO_PARSER) += fate-wtv-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, WTV_DEMUXER MPEGVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-wtv-demux
 fate-wtv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/wtv/law-and-order-partial.wtv -c:v copy -c:a copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_XMV_DEMUXER) += fate-xmv-demux
@@ -157,7 +157,7 @@ fate-xmv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/xmv/logos1p.fmv -c:v copy -c
 FATE_SAMPLES_DEMUX-$(CONFIG_XWMA_DEMUXER) += fate-xwma-demux
 fate-xwma-demux: CMD = crc -i $(TARGET_SAMPLES)/xwma/ergon.xwma -c:a copy
 
-FATE_FFPROBE_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-demux
+FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-ts-demux
 fate-ts-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/ac3/mp3ac325-4864-small.ts
 
 FATE_FFPROBE_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-timed-id3-demux
diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak
index 471bb0fe72..86f0482378 100644
--- a/tests/fate/flvenc.mak
+++ b/tests/fate/flvenc.mak
@@ -9,7 +9,7 @@ FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER VP9_PARSER) += fa
 fate-enhanced-flv-vp9: CMD = transcode ivf $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-05-resize.ivf\
 		flv "-c copy" "-c copy"
 
-FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER AV1_DECODER AV1_PARSER) += fate-enhanced-flv-av1
+FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER AV1_DECODER AV1_PARSER EXTRACT_EXTRADATA_BSF) += fate-enhanced-flv-av1
 fate-enhanced-flv-av1: CMD = stream_remux ivf $(TARGET_SAMPLES)/av1/seq_hdr_op_param_info.ivf "-c:v av1" \
 		flv "-c copy" "-c:v av1" "-c copy"
 
diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index 8aa780ed4b..a4aa9668c0 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -229,8 +229,9 @@ FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF H264_METADATA_BSF SCALE
 
 FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF) += fate-h264-bsf-mp4toannexb \
                                                              fate-h264-bsf-mp4toannexb-2 \
-                                                             fate-h264_mp4toannexb_ticket5927 \
-                                                             fate-h264_mp4toannexb_ticket5927_2 \
+
+FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket5927 \
+                                                             fate-h264_mp4toannexb_ticket5927_2
 
 FATE_H264-$(call DEMMUX, H264, MOV, DTS2PTS_BSF) += fate-h264-bsf-dts2pts
 
@@ -238,7 +239,8 @@ FATE_H264-$(call FRAMECRC, MATROSKA, H264) += fate-h264-direct-bff
 FATE_H264-$(call FRAMECRC, FLV, H264, SCALE_FILTER) += fate-h264-brokensps-2580
 FATE_H264-$(call FRAMECRC, MXF, H264, PCM_S24LE_DECODER SCALE_FILTER ARESAMPLE_FILTER) += fate-h264-xavc-4389
 FATE_H264-$(call FRAMECRC, MOV, H264) += fate-h264-attachment-631
-FATE_H264-$(call FRAMECRC, MPEGTS, H264, H264_PARSER MP3_DECODER SCALE_FILTER ARESAMPLE_FILTER) += fate-h264-skip-nokey fate-h264-skip-nointra
+FATE_H264-$(call FRAMECRC, MPEGTS, H264, H264_PARSER MP3_DECODER SCALE_FILTER ARESAMPLE_FILTER) += fate-h264-skip-nokey
+FATE_H264-$(call FRAMECRC, MPEGTS, H264, H264_PARSER MP3_DECODER SCALE_FILTER ARESAMPLE_FILTER EXTRACT_EXTRADATA_BSF) += fate-h264-skip-nointra
 FATE_H264_FFPROBE-$(call DEMDEC, MATROSKA, H264) += fate-h264-dts_5frames
 FATE_H264_FFPROBE-$(call PARSERDEMDEC, H264, H264, H264) += fate-h264-afd
 
diff --git a/tests/fate/hevc.mak b/tests/fate/hevc.mak
index 8113c04300..3ad6e255a9 100644
--- a/tests/fate/hevc.mak
+++ b/tests/fate/hevc.mak
@@ -229,7 +229,7 @@ tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \
 	-i $(TARGET_SAMPLES)/hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags +bitexact $(TARGET_PATH)/$@ -y 2>/dev/null
 
-FATE_HEVC-$(call ALLYES, HEVC_DEMUXER MOV_DEMUXER HEVC_PARSER HEVC_MP4TOANNEXB_BSF MOV_MUXER HEVC_MUXER) += fate-hevc-bsf-mp4toannexb
+FATE_HEVC-$(call ALLYES, HEVC_DEMUXER MOV_DEMUXER HEVC_PARSER HEVC_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF MOV_MUXER HEVC_MUXER) += fate-hevc-bsf-mp4toannexb
 fate-hevc-bsf-mp4toannexb: tests/data/hevc-mp4.mov
 fate-hevc-bsf-mp4toannexb: CMD = md5 -i $(TARGET_PATH)/tests/data/hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc
 fate-hevc-bsf-mp4toannexb: CMP = oneline
@@ -249,7 +249,7 @@ fate-hevc-monochrome-crop: CMD = probeframes -show_entries frame=width,height:st
 FATE_HEVC_FFPROBE-$(call PARSERDEMDEC, HEVC, HEVC, HEVC) += fate-hevc-monochrome-crop
 
 fate-hevc-afd-tc-sei: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -bitexact -flags output_corrupt -show_entries frame_side_data_list -select_streams v $(TARGET_SAMPLES)/mpegts/loewe.ts
-FATE_HEVC_FFPROBE-$(call PARSERDEMDEC, HEVC, HEVC, HEVC) += fate-hevc-afd-tc-sei
+FATE_HEVC_FFPROBE-$(call PARSERDEMDEC, HEVC, HEVC, HEVC, EXTRACT_EXTRADATA_BSF) += fate-hevc-afd-tc-sei
 
 fate-hevc-hdr10-plus-metadata: CMD = probeframes -show_entries frame=side_data_list $(TARGET_SAMPLES)/hevc/hdr10_plus_h265_sample.hevc
 FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-hdr10-plus-metadata
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 1bea2673ca..6f8136f5df 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -71,13 +71,13 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
 FATE_AVCONV += $(FATE_LAVF_CONTAINER)
 fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
 
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MP4, AV1_DECODER AV1_PARSER MOV_DEMUXER)               += av1.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MATROSKA, AV1_DECODER AV1_PARSER MATROSKA_DEMUXER)     += av1.mkv
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MP4, AV1_DECODER AV1_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)             += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MATROSKA, AV1_DECODER AV1_PARSER EXTRACT_EXTRADATA_BSF MATROSKA_DEMUXER)   += av1.mkv
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, EVC, MP4, EVC_PARSER MOV_DEMUXER)                           += evc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, H264, MP4, H264_PARSER MOV_DEMUXER)                         += h264.mp4
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, H264, MP4, H264_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)   += h264.mp4
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, HEVC, MP4, HEVC_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)   += hevc.mp4
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, MOV)                                                   += mv_hevc.mov
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MATROSKA, VVC_PARSER SETTS_BSF MATROSKA_DEMUXER)       += vvc.mkv
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MATROSKA, VVC_PARSER EXTRACT_EXTRADATA_BSF SETTS_BSF MATROSKA_DEMUXER)     += vvc.mkv
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MP4, VVC_PARSER MOV_DEMUXER)                           += vvc.mp4
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGG, VP3_DECODER OGG_DEMUXER)                     += vp3.ogg
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGV, VP8_DECODER OGG_DEMUXER)                     += vp8.ogg
diff --git a/tests/fate/segment.mak b/tests/fate/segment.mak
index 88866fc9bb..b2f61681a4 100644
--- a/tests/fate/segment.mak
+++ b/tests/fate/segment.mak
@@ -35,7 +35,7 @@ tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data
 FATE_SEGMENT += fate-segment-mp4-to-ts
 fate-segment-mp4-to-ts: tests/data/mp4-to-ts.m3u8
 fate-segment-mp4-to-ts: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/mp4-to-ts.m3u8 -c copy
-FATE_SEGMENT-$(call ALLYES, MOV_DEMUXER H264_MP4TOANNEXB_BSF MPEGTS_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-mp4-to-ts
+FATE_SEGMENT-$(call ALLYES, MOV_DEMUXER H264_MP4TOANNEXB_BSF MPEGTS_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-segment-mp4-to-ts
 
 FATE_SEGMENT += fate-segment-adts-to-mkv
 fate-segment-adts-to-mkv: tests/data/adts-to-mkv.m3u8
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 03/20] fate/demux: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 01/20] tests/Makefile: make easier to check for multiple dependencies Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 02/20] fate/all: add missing dependencies for extradata bsf Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 04/20] fate/all: switch-fix mov muxer dependency to mp4 muxer dependency Nicolas Gaullier
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/demux.mak | 46 ++++++++++++++++++++++----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
index a654cdcbbf..0f87abadad 100644
--- a/tests/fate/demux.mak
+++ b/tests/fate/demux.mak
@@ -1,13 +1,13 @@
 FATE_SAMPLES_DEMUX-$(call DEMDEC, AVI, FRAPS) += fate-avio-direct
 fate-avio-direct: CMD = framecrc -avioflags direct -i $(TARGET_SAMPLES)/fraps/fraps-v5-bouncing-balls-partial.avi -avioflags direct
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AAC, AAC) += fate-adts-demux fate-adts-id3v1-demux fate-adts-id3v2-demux fate-adts-id3v2-two-tags-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, AAC, AAC, AAC_PARSER) += fate-adts-demux fate-adts-id3v1-demux fate-adts-id3v2-demux fate-adts-id3v2-two-tags-demux
 fate-adts-demux: CMD = crc -i $(TARGET_SAMPLES)/aac/ct_faac-adts.aac -c:a copy
 fate-adts-id3v1-demux: CMD = framecrc -f aac -i $(TARGET_SAMPLES)/aac/id3v1.aac -c:a copy
 fate-adts-id3v2-demux: CMD = framecrc -f aac -i $(TARGET_SAMPLES)/aac/id3v2.aac -c:a copy
 fate-adts-id3v2-two-tags-demux: CMD = framecrc -i $(TARGET_SAMPLES)/aac/id3v2_two_tags.aac -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_AA_DEMUXER) += fate-aa-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, AA,, SIPR_PARSER) += fate-aa-demux
 fate-aa-demux: CMD = framecrc -i $(TARGET_SAMPLES)/aa/bush.aa -c:a copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
@@ -29,7 +29,7 @@ fate-bcstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/loz-mm-mikau.bcstm -c:a copy
 FATE_SAMPLES_DEMUX-$(CONFIG_BRSTM_DEMUXER) += fate-brstm
 fate-brstm: CMD = crc -i $(TARGET_SAMPLES)/brstm/lozswd_partial.brstm -c:a copy
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, CAVSVIDEO_DEMUXER CAVSVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-cavs-demux
+FATE_FFPROBE_DEMUX-$(call DEMDEC, CAVSVIDEO, CAVS, CAVSVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-cavs-demux
 fate-cavs-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/cavs/bunny.mp4
 
 FATE_SAMPLES_DEMUX-$(CONFIG_CDXL_DEMUXER) += fate-cdxl-demux
@@ -41,17 +41,17 @@ fate-cine-demux: CMD = crc -i $(TARGET_SAMPLES)/cine/bayer_gbrg8.cine -c copy
 FATE_SAMPLES_DEMUX-$(CONFIG_DAUD_DEMUXER) += fate-d-cinema-demux
 fate-d-cinema-demux: CMD = framecrc -i $(TARGET_SAMPLES)/d-cinema/THX_Science_FLT_1920-partial.302 -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_EA_DEMUXER) += fate-d-eavp6-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, EA, VP6) += fate-d-eavp6-demux
 fate-d-eavp6-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ea-vp6/SmallRing.vp6 -map 0 -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, GIF_DEMUXER FITS_DEMUXER GIF_DECODER FITS_ENCODER FITS_MUXER) += fate-fits-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, FITS GIF, FITS GIF, FITS_MUXER FITS_ENCODER GIF_PARSER SCALE_FILTER) += fate-fits-demux
 fate-fits-demux: tests/data/fits-multi.fits
 fate-fits-demux: CMD = framecrc -i $(TARGET_PATH)/tests/data/fits-multi.fits -c:v copy
 
-FATE_FFPROBE_DEMUX-$(CONFIG_FLV_DEMUXER) += fate-flv-demux
+FATE_FFPROBE_DEMUX-$(call DEMDEC, FLV, H264 AAC, H264_PARSER) += fate-flv-demux
 fate-flv-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/flv/Enigma_Principles_of_Lust-part.flv
 
-FATE_SAMPLES_DEMUX-$(CONFIG_GIF_DEMUXER) += fate-gif-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, GIF,, GIF_PARSER) += fate-gif-demux
 fate-gif-demux: CMD = framecrc -i $(TARGET_SAMPLES)/gif/Newtons_cradle_animation_book_2.gif -c:v copy
 
 FATE_SAMPLES_DEMUX-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-iv8-demux
@@ -60,7 +60,7 @@ fate-iv8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/iv8/zzz-partial.mpg -c:v cop
 FATE_SAMPLES_DEMUX-$(CONFIG_JV_DEMUXER) += fate-jv-demux
 fate-jv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/jv/intro.jv -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-lmlm4-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-lmlm4-demux
 fate-lmlm4-demux: CMD = framecrc -i $(TARGET_SAMPLES)/lmlm4/LMLM4_CIFat30fps.divx -t 3 -c:a copy -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_XA_DEMUXER) += fate-maxis-xa
@@ -70,7 +70,7 @@ FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA, H264) += fate-mkv
 fate-mkv: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/test7_cut.mkv -c copy
 
 #No dts errors or duplicate DTS should be in this
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA, H264) += fate-mkv-1242
+FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA,, H264_PARSER) += fate-mkv-1242
 fate-mkv-1242: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -c copy -frames:v 11
 
 FATE_SAMPLES_DEMUX-$(CONFIG_MLV_DEMUXER) += fate-mlv-demux
@@ -79,16 +79,16 @@ fate-mlv-demux: CMD = crc -i $(TARGET_SAMPLES)/mlv/M19-0333-cut.MLV -c copy
 FATE_SAMPLES_DEMUX-$(call ALLYES, MOV_DEMUXER FRAMECRC_MUXER FILE_PROTOCOL PIPE_PROTOCOL) += fate-mov-mp3-demux
 fate-mov-mp3-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mpegaudio/packed_maindata.mp3.mp4 -c copy
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER ARESAMPLE_FILTER) += fate-ts-opus-demux
+FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, OPUS, MPEGTS, OPUS) += fate-ts-opus-demux
 fate-ts-opus-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/opus/test-8-7.1.opus-small.ts
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-ts-small-demux
+FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, H264, MPEGTS, H264, EXTRACT_EXTRADATA_BSF) += fate-ts-small-demux
 fate-ts-small-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/mpegts/h264small.ts
 
-FATE_SAMPLES_DEMUX-$(CONFIG_MTV_DEMUXER) += fate-mtv
+FATE_SAMPLES_DEMUX-$(call DEMDEC, MTV,, MPEGAUDIO_PARSER) += fate-mtv
 fate-mtv: CMD = framecrc -i $(TARGET_SAMPLES)/mtv/comedian_auto-partial.mtv -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MXF, MPEG4) += fate-mxf-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, MXF,, MPEG4VIDEO_PARSER) += fate-mxf-demux
 fate-mxf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mxf/C0023S01.mxf -c:a copy -c:v copy
 
 FATE_SAMPLES_DEMUX-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-nc-demux
@@ -97,16 +97,16 @@ fate-nc-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nc-camera/nc-sample-partial -
 FATE_SAMPLES_DEMUX-$(CONFIG_NISTSPHERE_DEMUXER) += fate-nistsphere-demux
 fate-nistsphere-demux: CMD = crc -i $(TARGET_SAMPLES)/nistsphere/nist-ulaw.nist -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_NSV_DEMUXER) += fate-nsv-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, NSV,, VP3_PARSER MPEGAUDIO_PARSER) += fate-nsv-demux
 fate-nsv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nsv/witchblade-51kbps.nsv -t 6 -c:v copy -c:a copy
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, OGG_DEMUXER ARESAMPLE_FILTER) += fate-oggopus-demux
+FATE_FFPROBE_DEMUX-$(call DEMDEC, OGG, OPUS) += fate-oggopus-demux
 fate-oggopus-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/ogg/intro-partial.opus
 
-FATE_SAMPLES_DEMUX-$(CONFIG_OGG_DEMUXER) += fate-oggtheora-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, OGG, THEORA) += fate-oggtheora-demux
 fate-oggtheora-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/empty_theora_packets.ogv -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_OGG_DEMUXER) += fate-oggvp8-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, OGG,, VP8_PARSER) += fate-oggvp8-demux
 fate-oggvp8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/videotest.ogv -c:v copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_PAF_DEMUXER) += fate-paf-demux
@@ -124,13 +124,13 @@ fate-redspark-demux: CMD = crc -i $(TARGET_SAMPLES)/redspark/jingle04_partial.rs
 FATE_SAMPLES_DEMUX-$(CONFIG_STR_DEMUXER) += fate-psx-str-demux
 fate-psx-str-demux: CMD = framecrc -i $(TARGET_SAMPLES)/psx-str/descent-partial.str -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_PVA_DEMUXER) += fate-pva-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, PVA, MPEG2VIDEO, MPEGAUDIO_PARSER) += fate-pva-demux
 fate-pva-demux: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -c:a copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_QCP_DEMUXER) += fate-qcp-demux
 fate-qcp-demux: CMD = crc -i $(TARGET_SAMPLES)/qcp/0036580847.QCP -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_R3D_DEMUXER) += fate-redcode-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, R3D, JPEG2000 PCM_S32BE) += fate-redcode-demux
 fate-redcode-demux: CMD = framecrc -i $(TARGET_SAMPLES)/r3d/4MB-sample.r3d -c:v copy -c:a copy
 
 FATE_SAMPLES_DEMUX-$(call ALLYES, S337M_DEMUXER DOLBY_E_PARSER FRAMECRC_MUXER) += fate-s337m-demux
@@ -139,16 +139,16 @@ fate-s337m-demux: CMD = framecrc -i $(TARGET_SAMPLES)/dolby_e/16-11 -c copy -ss
 FATE_SAMPLES_DEMUX-$(CONFIG_SIFF_DEMUXER) += fate-siff-demux
 fate-siff-demux: CMD = framecrc -i $(TARGET_SAMPLES)/SIFF/INTRO_B.VB -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_SMJPEG_DEMUXER) += fate-smjpeg-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, SMJPEG, MJPEG ADPCM_IMA_SMJPEG) += fate-smjpeg-demux
 fate-smjpeg-demux: CMD = framecrc -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_WAV_DEMUXER) += fate-wav-ac3
+FATE_SAMPLES_DEMUX-$(call DEMDEC, WAV SPDIF,, AC3_PARSER) += fate-wav-ac3
 fate-wav-ac3: CMD = framecrc -i $(TARGET_SAMPLES)/ac3/diatonis_invisible_order_anfos_ac3-small.wav -c copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_WSAUD_DEMUXER) += fate-westwood-aud
 fate-westwood-aud: CMD = framecrc -i $(TARGET_SAMPLES)/westwood-aud/excellent.aud -c copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, WTV_DEMUXER MPEGVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-wtv-demux
+FATE_SAMPLES_DEMUX-$(call DEMDEC, WTV, MJPEG, MPEGVIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-wtv-demux
 fate-wtv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/wtv/law-and-order-partial.wtv -c:v copy -c:a copy
 
 FATE_SAMPLES_DEMUX-$(CONFIG_XMV_DEMUXER) += fate-xmv-demux
@@ -157,7 +157,7 @@ fate-xmv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/xmv/logos1p.fmv -c:v copy -c
 FATE_SAMPLES_DEMUX-$(CONFIG_XWMA_DEMUXER) += fate-xwma-demux
 fate-xwma-demux: CMD = crc -i $(TARGET_SAMPLES)/xwma/ergon.xwma -c:a copy
 
-FATE_FFPROBE_DEMUX-$(call ALLYES, MPEGTS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-ts-demux
+FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, MPEGVIDEO, MPEGTS, MPEG2VIDEO AC3, EXTRACT_EXTRADATA_BSF) += fate-ts-demux
 fate-ts-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/ac3/mp3ac325-4864-small.ts
 
 FATE_FFPROBE_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-timed-id3-demux
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 04/20] fate/all: switch-fix mov muxer dependency to mp4 muxer dependency
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (2 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 03/20] fate/demux: fix multiple dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 05/20] fate/mov: fix multiple dependencies Nicolas Gaullier
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/enc_external.mak   |  6 +++---
 tests/fate/lavf-container.mak |  2 +-
 tests/fate/mov.mak            | 14 +++++++-------
 tests/fate/subtitles.mak      |  2 +-
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/tests/fate/enc_external.mak b/tests/fate/enc_external.mak
index 4095a4b51a..705f733db7 100644
--- a/tests/fate/enc_external.mak
+++ b/tests/fate/enc_external.mak
@@ -1,14 +1,14 @@
-FATE_ENC_EXTERNAL-$(call ENCDEC, LIBX264 H264, MOV, H264_DEMUXER) += fate-libx264-simple
+FATE_ENC_EXTERNAL-$(call ENCDEC, LIBX264 H264, MP4 MOV, H264_DEMUXER) += fate-libx264-simple
 fate-libx264-simple: CMD = enc_external $(TARGET_SAMPLES)/h264-conformance/BA1_Sony_D.jsv \
     mp4 "-c:v libx264" "-show_entries frame=width,height,pix_fmt,pts,pkt_dts -of flat"
 
 # test for SVT-AV1 MDCV and CLL passthrough during encoding
-FATE_ENC_EXTERNAL-$(call ENCDEC, LIBSVTAV1 HEVC, MOV, HEVC_DEMUXER LIBDAV1D_DECODER) += fate-libsvtav1-hdr10
+FATE_ENC_EXTERNAL-$(call ENCDEC, LIBSVTAV1 HEVC, MP4 MOV, HEVC_DEMUXER LIBDAV1D_DECODER) += fate-libsvtav1-hdr10
 fate-libsvtav1-hdr10: CMD = enc_external $(TARGET_SAMPLES)/hevc/hdr10_plus_h265_sample.hevc \
     mp4 "-c:v libsvtav1" "-show_frames -show_entries frame=side_data_list -of flat"
 
 # test for x264 MDCV and CLL passthrough during encoding
-FATE_ENC_EXTERNAL-$(call ENCDEC, LIBX264 HEVC, MOV, LIBX264_HDR10 HEVC_DEMUXER H264_DECODER) += fate-libx264-hdr10
+FATE_ENC_EXTERNAL-$(call ENCDEC, LIBX264 HEVC, MP4 MOV, LIBX264_HDR10 HEVC_DEMUXER H264_DECODER) += fate-libx264-hdr10
 fate-libx264-hdr10: CMD = enc_external $(TARGET_SAMPLES)/hevc/hdr10_plus_h265_sample.hevc \
     mp4 "-c:v libx264" "-show_frames -show_entries frame=side_data_list -of flat"
 
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 6f8136f5df..6a46f98b5d 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -6,7 +6,7 @@ FATE_LAVF_CONTAINER-$(call ENCDEC,  RAWVIDEO,              FILMSTRIP)          +
 FATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, GXF)                += gxf gxf_pal gxf_ntsc
 FATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      MP2,       MATROSKA)           += mkv mkv_attachment
 FATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      PCM_ALAW,  MOV)                += mov mov_rtphint mov_hybrid_frag ismv
-FATE_LAVF_CONTAINER-$(call ENCDEC,  MPEG4,                 MOV)                += mp4
+FATE_LAVF_CONTAINER-$(call ENCDEC,  MPEG4,                 MP4 MOV)            += mp4
 FATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG1VIDEO, MP2,       MPEG1SYSTEM MPEGPS) += mpg
 FATE_LAVF_CONTAINER-$(call ENCDEC , FFV1,                  MXF)                += mxf_ffv1
 FATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF)                += mxf
diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index 71796879c3..a21b024015 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -216,13 +216,13 @@ fate-mov-channel-description: tests/data/asynth-44100-1.wav tests/data/filtergra
 fate-mov-channel-description: CMD = transcode wav $(TARGET_PATH)/tests/data/asynth-44100-1.wav mov "-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/mov-channel-description -map [outFL] -map [outFR] -map [outFC] -map [outLFE] -map [outBL] -map [outBR] -map [outDL] -map [outDR] -c:a pcm_s16le" "-map 0 -c copy -frames:a 0"
 
 # Test PCM in mp4 and channel layout
-FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_S16LE, MOV, WAV_DEMUXER PAN_FILTER) \
+FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_S16LE, MP4 WAV, PAN_FILTER) \
                           += fate-mov-mp4-pcm
 fate-mov-mp4-pcm: tests/data/asynth-44100-1.wav tests/data/filtergraphs/mov-mp4-pcm
 fate-mov-mp4-pcm: CMD = transcode wav $(TARGET_PATH)/tests/data/asynth-44100-1.wav mp4 "-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/mov-mp4-pcm -map [mono] -map [stereo] -map [2.1] -map [5.1] -map [7.1] -c:a pcm_s16le" "-map 0 -c copy -frames:a 0"
 
 # Test floating sample format PCM in mp4 and unusual channel layout
-FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_S16LE, MOV, WAV_DEMUXER PAN_FILTER) \
+FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_S16LE, MP4 WAV, PAN_FILTER) \
                           += fate-mov-mp4-pcm-float
 fate-mov-mp4-pcm-float: tests/data/asynth-44100-1.wav
 fate-mov-mp4-pcm-float: CMD = transcode wav $(TARGET_PATH)/tests/data/asynth-44100-1.wav mp4 "-af aresample,pan=FR+FL+FR|c0=c0|c1=c0|c2=c0 -c:a pcm_f32le" "-map 0 -c copy -frames:a 0"
@@ -237,7 +237,7 @@ fate-mov-vfr: CMD = md5 -filter_complex testsrc=size=2x2:duration=1,setpts=N*N:s
 fate-mov-vfr: CMP = oneline
 fate-mov-vfr: REF = 1558b4a9398d8635783c93f84eb5a60d
 
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER) += fate-mov-mp4-iamf-stereo
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MP4 WAV, PCM_S16LE_DECODER) += fate-mov-mp4-iamf-stereo
 fate-mov-mp4-iamf-stereo: tests/data/asynth-44100-2.wav tests/data/streamgroups/audio_element-stereo tests/data/streamgroups/mix_presentation-stereo
 fate-mov-mp4-iamf-stereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-mov-mp4-iamf-stereo: CMD = transcode wav $(SRC) mp4 " \
@@ -246,7 +246,7 @@ fate-mov-mp4-iamf-stereo: CMD = transcode wav $(SRC) mp4 " \
   -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" \
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-5_1_4
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MP4 WAV, PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-5_1_4
 fate-mov-mp4-iamf-5_1_4: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4
 fate-mov-mp4-iamf-5_1_4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-10.wav
 fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
@@ -257,7 +257,7 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
 # Test muxing an IAMF track alongside a video one, with video as the first track.
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MOV, WAV_DEMUXER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-first
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MP4 WAV, RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-first
 fate-mov-mp4-iamf-7_1_4-video-first: tests/data/asynth-44100-12.wav tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4-2 tests/data/streamgroups/mix_presentation-7_1_4
 fate-mov-mp4-iamf-7_1_4-video-first: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
 fate-mov-mp4-iamf-7_1_4-video-first: SRC2 = $(TARGET_PATH)/tests/data/vsynth1.yuv
@@ -270,7 +270,7 @@ fate-mov-mp4-iamf-7_1_4-video-first: CMD = transcode wav $(SRC) mp4 "-auto_conve
   "-f rawvideo -s 352x288 -pix_fmt yuv420p -i $(SRC2)"
 
 # Test muxing an IAMF track alongside a video one, with video as the last track. Also, use stream ids as track ids.
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MOV, WAV_DEMUXER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-last
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MP4 WAV, RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-last
 fate-mov-mp4-iamf-7_1_4-video-last: tests/data/asynth-44100-12.wav tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4 tests/data/streamgroups/mix_presentation-7_1_4
 fate-mov-mp4-iamf-7_1_4-video-last: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
 fate-mov-mp4-iamf-7_1_4-video-last: SRC2 = $(TARGET_PATH)/tests/data/vsynth1.yuv
@@ -282,7 +282,7 @@ fate-mov-mp4-iamf-7_1_4-video-last: CMD = transcode wav $(SRC) mp4 "-auto_conver
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition:stream=index,id" \
   "-f rawvideo -s 352x288 -pix_fmt yuv420p -i $(SRC2)"
 
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-ambisonic_1
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MP4 WAV, PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-ambisonic_1
 fate-mov-mp4-iamf-ambisonic_1: tests/data/asynth-44100-4.wav tests/data/filtergraphs/iamf_ambisonic_1 tests/data/streamgroups/audio_element-ambisonic_1 tests/data/streamgroups/mix_presentation-ambisonic_1
 fate-mov-mp4-iamf-ambisonic_1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-4.wav
 fate-mov-mp4-iamf-ambisonic_1: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
diff --git a/tests/fate/subtitles.mak b/tests/fate/subtitles.mak
index 90412e9ac1..06c8ecdc92 100644
--- a/tests/fate/subtitles.mak
+++ b/tests/fate/subtitles.mak
@@ -38,7 +38,7 @@ fate-sub-microdvd-remux: CMD = fmtstdout microdvd -i $(TARGET_SAMPLES)/sub/Micro
 FATE_SUBTITLES_ASS-$(call DEMDEC, MOV, MOVTEXT) += fate-sub-movtext
 fate-sub-movtext: CMD = fmtstdout ass -i $(TARGET_SAMPLES)/sub/MovText_capability_tester.mp4
 
-FATE_SUBTITLES-$(call ENCDEC, MOVTEXT, MOV) += fate-binsub-movtextenc
+FATE_SUBTITLES-$(call ENCDEC, MOVTEXT, MP4 MOV) += fate-binsub-movtextenc
 fate-binsub-movtextenc: CMD = md5 -i $(TARGET_SAMPLES)/sub/MovText_capability_tester.mp4 -map 0 -scodec mov_text -f mp4 -flags +bitexact -fflags +bitexact -movflags +frag_keyframe+empty_moov
 
 FATE_SUBTITLES_ASS-$(call DEMDEC, MPL2, MPL2) += fate-sub-mpl2
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 05/20] fate/mov: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (3 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 04/20] fate/all: switch-fix mov muxer dependency to mp4 muxer dependency Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 06/20] fate/gapless: " Nicolas Gaullier
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/mov.mak | 38 ++++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index a21b024015..8d4077da66 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -1,4 +1,4 @@
-FATE_MOV-$(call FRAMEMD5, MOV) = fate-mov-3elist \
+FATE_MOV-$(call FRAMEMD5, MOV, H264) += fate-mov-3elist \
            fate-mov-3elist-1ctts \
            fate-mov-1elist-1ctts \
            fate-mov-1elist-noctts \
@@ -8,16 +8,21 @@ FATE_MOV-$(call FRAMEMD5, MOV) = fate-mov-3elist \
            fate-mov-3elist-encrypted \
            fate-mov-frag-encrypted \
            fate-mov-tenc-only-encrypted \
-           fate-mov-invalid-elst-entry-count \
-           fate-mov-gpmf-remux \
-           fate-mov-ibi-elst-starts-b \
-           fate-mov-elst-ends-betn-b-and-i \
            fate-mov-frag-overlap \
            fate-mov-neg-firstpts-discard-frames \
-           fate-mov-stream-shorter-than-movie \
-           fate-mov-pcm-remux \
 
-FATE_MOV_FFPROBE-$(call FRAMEMD5, MOV) = fate-mov-neg-firstpts-discard \
+FATE_MOV-$(call FRAMEMD5, MOV, H264, FPS_FILTER) += fate-mov-stream-shorter-than-movie \
+
+FATE_MOV-$(call FRAMEMD5, MOV, MPEG4) += fate-mov-invalid-elst-entry-count \
+
+FATE_MOV-$(call FRAMEMD5, MOV, HEVC) += fate-mov-ibi-elst-starts-b \
+           fate-mov-elst-ends-betn-b-and-i \
+
+FATE_MOV_REMUX-$(call REMUX, MP4 MOV) += fate-mov-gpmf-remux \
+
+FATE_MOV_REMUX-$(call REMUX, MP4 WAV) += fate-mov-pcm-remux \
+
+FATE_MOV_FFPROBE-$(call FRAMEMD5, MOV, H264, H264_PARSER) += fate-mov-neg-firstpts-discard \
                    fate-mov-neg-firstpts-discard-vorbis \
                    fate-mov-aac-2048-priming \
                    fate-mov-zombie \
@@ -29,11 +34,12 @@ FATE_MOV_FFPROBE-$(call FRAMEMD5, MOV) = fate-mov-neg-firstpts-discard \
                    fate-mov-guess-delay-2 \
                    fate-mov-guess-delay-3 \
                    fate-mov-mp4-with-mov-in24-ver \
-                   fate-mov-mp4-extended-atom \
+
+FATE_MOV_FFPROBE-$(call FRAMEMD5, MOV, MPEG4, H264_PARSER) += fate-mov-mp4-extended-atom \
 
 FATE_MOV_FASTSTART = fate-mov-faststart-4gb-overflow \
 
-FATE_SAMPLES_FFMPEG += $(FATE_MOV-yes)
+FATE_SAMPLES_FFMPEG += $(FATE_MOV-yes) $(FATE_MOV_REMUX-yes)
 FATE_SAMPLES_FFPROBE += $(FATE_MOV_FFPROBE-yes)
 FATE_SAMPLES_FASTSTART += $(FATE_MOV_FASTSTART)
 
@@ -95,7 +101,7 @@ FATE_MOV_FFMPEG-$(call ALLYES, LAVFI_INDEV COLOR_FILTER FORMAT_FILTER TRIM_FILTE
 # Makes sure that we pick the right frames according to edit list when there is no keyframe with PTS < edit list start.
 # For example, when video starts on a B-frame, and edit list starts on that B-frame too.
 # GOP structure : B B I in presentation order.
-FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, AAC_FIXED, ARESAMPLE_FILTER) \
+FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, AAC_FIXED H264, ARESAMPLE_FILTER) \
                             += fate-mov-bbi-elst-starts-b
 fate-mov-bbi-elst-starts-b: CMD = framemd5 -flags +bitexact -acodec aac_fixed -i $(TARGET_SAMPLES)/h264/twofields_packet.mp4 -af aresample
 
@@ -203,7 +209,7 @@ FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call REMUX, MP4 MOV, MPEGTS_DEMUXER AC3_DECODE
                           += fate-mov-mp4-disposition-mpegts-remux
 fate-mov-mp4-disposition-mpegts-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/mpegts/pmtchange.ts mp4 "-map 0:1 -map 0:2 -c copy -disposition:a:0 +hearing_impaired" "-map 0 -c copy" "-of json -show_entries stream_disposition:stream=index"
 
-FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call REMUX, MP4 MOV) \
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call REMUX, MP4 MOV, H264_DECODER) \
                           += fate-mov-write-amve
 fate-mov-write-amve: CMD = transcode mov $(TARGET_SAMPLES)/mov/amve.mov mp4 "-c:v copy" "-c:v copy -t 0.5" "-show_entries stream_side_data_list"
 
@@ -222,7 +228,7 @@ fate-mov-mp4-pcm: tests/data/asynth-44100-1.wav tests/data/filtergraphs/mov-mp4-
 fate-mov-mp4-pcm: CMD = transcode wav $(TARGET_PATH)/tests/data/asynth-44100-1.wav mp4 "-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/mov-mp4-pcm -map [mono] -map [stereo] -map [2.1] -map [5.1] -map [7.1] -c:a pcm_s16le" "-map 0 -c copy -frames:a 0"
 
 # Test floating sample format PCM in mp4 and unusual channel layout
-FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_S16LE, MP4 WAV, PAN_FILTER) \
+FATE_MOV_FFMPEG-$(call TRANSCODE, PCM_F32LE, MP4 WAV, PAN_FILTER) \
                           += fate-mov-mp4-pcm-float
 fate-mov-mp4-pcm-float: tests/data/asynth-44100-1.wav
 fate-mov-mp4-pcm-float: CMD = transcode wav $(TARGET_PATH)/tests/data/asynth-44100-1.wav mp4 "-af aresample,pan=FR+FL+FR|c0=c0|c1=c0|c2=c0 -c:a pcm_f32le" "-map 0 -c copy -frames:a 0"
@@ -257,7 +263,7 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
 # Test muxing an IAMF track alongside a video one, with video as the first track.
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MP4 WAV, RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-first
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4, MP4 WAV, FLAC_DECODER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-first
 fate-mov-mp4-iamf-7_1_4-video-first: tests/data/asynth-44100-12.wav tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4-2 tests/data/streamgroups/mix_presentation-7_1_4
 fate-mov-mp4-iamf-7_1_4-video-first: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
 fate-mov-mp4-iamf-7_1_4-video-first: SRC2 = $(TARGET_PATH)/tests/data/vsynth1.yuv
@@ -270,7 +276,7 @@ fate-mov-mp4-iamf-7_1_4-video-first: CMD = transcode wav $(SRC) mp4 "-auto_conve
   "-f rawvideo -s 352x288 -pix_fmt yuv420p -i $(SRC2)"
 
 # Test muxing an IAMF track alongside a video one, with video as the last track. Also, use stream ids as track ids.
-FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4 FLAC, MP4 WAV, RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-last
+FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG4, MP4 WAV, FLAC_DECODER RAWVIDEO_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-7_1_4-video-last
 fate-mov-mp4-iamf-7_1_4-video-last: tests/data/asynth-44100-12.wav tests/data/vsynth1.yuv tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4 tests/data/streamgroups/mix_presentation-7_1_4
 fate-mov-mp4-iamf-7_1_4-video-last: SRC = $(TARGET_PATH)/tests/data/asynth-44100-12.wav
 fate-mov-mp4-iamf-7_1_4-video-last: SRC2 = $(TARGET_PATH)/tests/data/vsynth1.yuv
@@ -295,4 +301,4 @@ fate-mov-mp4-iamf-ambisonic_1: CMD = transcode wav $(SRC) mp4 "-auto_conversion_
 FATE_FFMPEG += $(FATE_MOV_FFMPEG-yes)
 FATE_FFMPEG_FFPROBE += $(FATE_MOV_FFMPEG_FFPROBE-yes)
 
-fate-mov: $(FATE_MOV-yes) $(FATE_MOV_FFMPEG-yes) $(FATE_MOV_FFMPEG_FFPROBE-yes) $(FATE_MOV_FFPROBE-yes) $(FATE_MOV_FASTSTART) $(FATE_MOV_FFMPEG_SAMPLES-yes) $(FATE_MOV_FFMPEG_FFPROBE_SAMPLES-yes)
+fate-mov: $(FATE_MOV-yes) $(FATE_MOV_REMUX-yes) $(FATE_MOV_FFMPEG-yes) $(FATE_MOV_FFMPEG_FFPROBE-yes) $(FATE_MOV_FFPROBE-yes) $(FATE_MOV_FASTSTART) $(FATE_MOV_FFMPEG_SAMPLES-yes) $(FATE_MOV_FFMPEG_FFPROBE_SAMPLES-yes)
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 06/20] fate/gapless: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (4 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 05/20] fate/mov: fix multiple dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 07/20] fate/lavf-container: " Nicolas Gaullier
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/gapless.mak | 76 +++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/tests/fate/gapless.mak b/tests/fate/gapless.mak
index dfae964662..e6fba1436b 100644
--- a/tests/fate/gapless.mak
+++ b/tests/fate/gapless.mak
@@ -4,44 +4,44 @@ fate-gapless-mp3: CMD = gapless $(TARGET_SAMPLES)/gapless/gapless.mp3 "-c:a mp3"
 FATE_GAPLESSINFO_PROBE-$(CONFIG_MP3_DEMUXER) += fate-gapless-mp3-side-data
 fate-gapless-mp3-side-data: CMD = ffprobe_demux $(TARGET_SAMPLES)/gapless/gapless.mp3
 
-FATE_GAPLESS-$(call DEMDEC, MP3, MP3, ARESAMPLE_FILTER) += fate-audiomatch-square-mp3
+FATE_GAPLESS-$(call DEMDEC, MP3, MP3, ARESAMPLE_FILTER WAV_MUXER) += fate-audiomatch-square-mp3
 fate-audiomatch-square-mp3: CMD = audio_match $(TARGET_SAMPLES)/audiomatch/square3.mp3 $(SAMPLES)/audiomatch/square3.wav
 
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-square-aac
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-mono-lc-adts    fate-audiomatch-afconvert-16000-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-mono-lc-adts    fate-audiomatch-afconvert-44100-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-mono-he-adts    fate-audiomatch-afconvert-16000-mono-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-mono-he-adts    fate-audiomatch-afconvert-44100-mono-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-he-adts  fate-audiomatch-afconvert-16000-stereo-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-he-adts  fate-audiomatch-afconvert-44100-stereo-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-he2-adts fate-audiomatch-afconvert-16000-stereo-he2-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-he2-adts fate-audiomatch-afconvert-44100-stereo-he2-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-lc-adts  fate-audiomatch-afconvert-16000-stereo-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-lc-adts  fate-audiomatch-afconvert-44100-stereo-lc-m4a
-
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-faac-16000-mono-lc-adts    fate-audiomatch-faac-16000-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-faac-44100-mono-lc-adts    fate-audiomatch-faac-44100-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-faac-16000-stereo-lc-adts  fate-audiomatch-faac-16000-stereo-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-faac-44100-stereo-lc-adts  fate-audiomatch-faac-44100-stereo-lc-m4a
-
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-mono-lc-mp4
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-mono-he-mp4
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-he-mp4
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-he2-mp4
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-lc-mp4
-
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-mono-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-mono-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-mono-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-he-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-he2-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-he2-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-lc-m4a
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-lc-m4a
-
-FATE_GAPLESS-$(call DEMDEC, MOV, AAC, ARESAMPLE_FILTER) += fate-audiomatch-quicktime7-44100-stereo-lc-mp4 fate-audiomatch-quicktimeX-44100-stereo-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-square-aac
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-mono-lc-adts    fate-audiomatch-afconvert-16000-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-mono-lc-adts    fate-audiomatch-afconvert-44100-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-mono-he-adts    fate-audiomatch-afconvert-16000-mono-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-mono-he-adts    fate-audiomatch-afconvert-44100-mono-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-he-adts  fate-audiomatch-afconvert-16000-stereo-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-he-adts  fate-audiomatch-afconvert-44100-stereo-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-he2-adts fate-audiomatch-afconvert-16000-stereo-he2-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-he2-adts fate-audiomatch-afconvert-44100-stereo-he2-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-16000-stereo-lc-adts  fate-audiomatch-afconvert-16000-stereo-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-afconvert-44100-stereo-lc-adts  fate-audiomatch-afconvert-44100-stereo-lc-m4a
+
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-faac-16000-mono-lc-adts    fate-audiomatch-faac-16000-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-faac-44100-mono-lc-adts    fate-audiomatch-faac-44100-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-faac-16000-stereo-lc-adts  fate-audiomatch-faac-16000-stereo-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, AAC_DEMUXER ARESAMPLE_FILTER) += fate-audiomatch-faac-44100-stereo-lc-adts  fate-audiomatch-faac-44100-stereo-lc-m4a
+
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-mono-lc-mp4
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-mono-he-mp4
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-he-mp4
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-he2-mp4
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-dolby-44100-stereo-lc-mp4
+
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-mono-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-mono-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-mono-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-he-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-he2-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-he2-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-16000-stereo-lc-m4a
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-nero-44100-stereo-lc-m4a
+
+FATE_GAPLESS-$(call TRANSCODE, PCM_S16LE AAC, WAV MOV, ARESAMPLE_FILTER) += fate-audiomatch-quicktime7-44100-stereo-lc-mp4 fate-audiomatch-quicktimeX-44100-stereo-lc-m4a
 
 fate-audiomatch-square-aac: CMD = audio_match $(TARGET_SAMPLES)/audiomatch/square3.m4a $(SAMPLES)/audiomatch/square3.wav
 
@@ -106,11 +106,11 @@ FATE_GAPLESSINFO_PROBE-$(call DEMDEC, MOV, AAC) += fate-gaplessinfo-itunes2
 fate-gaplessinfo-itunes2: ffprobe$(PROGSSUF)$(EXESUF)
 fate-gaplessinfo-itunes2: CMD = probegaplessinfo $(TARGET_SAMPLES)/gapless/102400samples_qt-lc-aac.m4a
 
-FATE_GAPLESSENC_PROBE-$(call ENCDEC, AAC, MOV, ARESAMPLE_FILTER) += fate-gaplessenc-itunes-to-ipod-aac
+FATE_GAPLESSENC_PROBE-$(call ENCDEC, AAC, IPOD MOV, ARESAMPLE_FILTER) += fate-gaplessenc-itunes-to-ipod-aac
 fate-gaplessenc-itunes-to-ipod-aac: ffprobe$(PROGSSUF)$(EXESUF)
 fate-gaplessenc-itunes-to-ipod-aac: CMD = gaplessenc $(TARGET_SAMPLES)/gapless/102400samples_qt-lc-aac.m4a ipod aac
 
-FATE_GAPLESSENC_PROBE-$(call ENCDEC, AAC, MOV, ARESAMPLE_FILTER) += fate-gaplessenc-pcm-to-mov-aac
+FATE_GAPLESSENC_PROBE-$(call ENCDEC, AAC, MOV, PCM_S16LE_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-gaplessenc-pcm-to-mov-aac
 fate-gaplessenc-pcm-to-mov-aac: $(AREF)
 fate-gaplessenc-pcm-to-mov-aac: ffprobe$(PROGSSUF)$(EXESUF)
 fate-gaplessenc-pcm-to-mov-aac: CMD = gaplessenc $(AREF) mov aac
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 07/20] fate/lavf-container: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (5 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 06/20] fate/gapless: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 08/20] fate/vorbis: " Nicolas Gaullier
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/lavf-container.mak | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 6a46f98b5d..395b97b492 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -79,9 +79,9 @@ FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, HEVC, MP4, HEVC_PARSER EXTRACT_EXTRADATA
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, MOV)                                                   += mv_hevc.mov
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MATROSKA, VVC_PARSER EXTRACT_EXTRADATA_BSF SETTS_BSF MATROSKA_DEMUXER)     += vvc.mkv
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MP4, VVC_PARSER MOV_DEMUXER)                           += vvc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGG, VP3_DECODER OGG_DEMUXER)                     += vp3.ogg
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGV, VP8_DECODER OGG_DEMUXER)                     += vp8.ogg
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, LATM)                                                  += latm
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGG, VP3_DECODER THEORA_DECODER OGG_DEMUXER)      += vp3.ogg
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGV, VP8_DECODER VORBIS_DECODER VORBIS_PARSER OGG_DEMUXER)            += vp8.ogg
+FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV LOAS, LATM, AAC_LATM_DECODER)                                               += latm
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MP3, MP3)                                                   += mp3
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, MOV, QTRLE_DECODER MACE6_DECODER ARESAMPLE_FILTER)     += qtrle_mace6.mov
 FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, AVI, AVI, MSVIDEO1_DECODER PCM_U8_DECODER ARESAMPLE_FILTER) += cram.avi
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 08/20] fate/vorbis: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (6 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 07/20] fate/lavf-container: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 09/20] fate/aac: " Nicolas Gaullier
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/vorbis.mak | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/tests/fate/vorbis.mak b/tests/fate/vorbis.mak
index 781430bcd3..73e837f5a6 100644
--- a/tests/fate/vorbis.mak
+++ b/tests/fate/vorbis.mak
@@ -1,10 +1,10 @@
-FATE_VORBIS += fate-vorbis-encode
-fate-vorbis-encode: CMD = enc_dec_pcm ogg wav s16le $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a vorbis -strict experimental
-fate-vorbis-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
-fate-vorbis-encode: CMP_SHIFT = 0
-fate-vorbis-encode: CMP_TARGET = 296
-fate-vorbis-encode: SIZE_TOLERANCE = 3560
-fate-vorbis-encode: FUZZ = 30
+FATE_VORBIS_ENCODE += fate-vorbis-encode-1
+fate-vorbis-encode-1: CMD = enc_dec_pcm ogg wav s16le $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -c:a vorbis -strict experimental
+fate-vorbis-encode-1: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
+fate-vorbis-encode-1: CMP_SHIFT = 0
+fate-vorbis-encode-1: CMP_TARGET = 296
+fate-vorbis-encode-1: SIZE_TOLERANCE = 3560
+fate-vorbis-encode-1: FUZZ = 30
 
 FATE_VORBIS += fate-vorbis-1
 fate-vorbis-1: CMD = pcm -i $(TARGET_SAMPLES)/vorbis/1.0.1-test_small.ogg
@@ -94,9 +94,11 @@ fate-vorbis-1833-chapters: CMD = probechapters $(TARGET_SAMPLES)/vorbis/vorbis_c
 
 FATE_SAMPLES_FFPROBE += $(FATE_VORBIS_FFPROBE-yes)
 
-FATE_VORBIS-$(call DEMDEC, OGG, VORBIS, ARESAMPLE_FILTER) += $(FATE_VORBIS)
+FATE_VORBIS-$(call PCM, OGG, VORBIS, ARESAMPLE_FILTER) += $(FATE_VORBIS)
+FATE_VORBIS_ENCODE-$(call TRANSCODE, VORBIS, OGG, WAV_MUXER WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += $(FATE_VORBIS_ENCODE)
 
-FATE_SAMPLES_AVCONV += $(FATE_VORBIS-yes)
-fate-vorbis: $(FATE_VORBIS-yes) $(FATE_VORBIS_FFPROBE-yes)
+FATE_SAMPLES_AVCONV += $(FATE_VORBIS-yes) $(FATE_VORBIS_ENCODE-yes)
+fate-vorbis: $(FATE_VORBIS-yes) $(FATE_VORBIS_ENCODE-yes) $(FATE_VORBIS_FFPROBE-yes)
 $(FATE_VORBIS-yes): CMP = oneoff
-fate-vorbis-encode: CMP = stddev
+fate-vorbis-encode: $(FATE_VORBIS_ENCODE-yes)
+$(FATE_VORBIS_ENCODE-yes): CMP = stddev
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 09/20] fate/aac: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (7 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 08/20] fate/vorbis: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 10/20] fate/audio: " Nicolas Gaullier
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/aac.mak | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tests/fate/aac.mak b/tests/fate/aac.mak
index f5a41458e6..48a4410d6c 100644
--- a/tests/fate/aac.mak
+++ b/tests/fate/aac.mak
@@ -241,21 +241,21 @@ fate-aac-latm_stereo_to_51: REF = $(SAMPLES)/aac/latm_stereo_to_51_ref.s16
 fate-aac-autobsf-adtstoasc: CMD = transcode "aac" $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.adts \
                                             matroska "-c:a copy" "-c:a copy"
 
-FATE_AAC-$(call      DEMDEC, AAC,    AAC,       ARESAMPLE_FILTER) += $(FATE_AAC_CT_RAW)
-FATE_AAC-$(call      DEMDEC, MOV,    AAC,       ARESAMPLE_FILTER) += $(FATE_AAC)
-FATE_AAC_LATM-$(call DEMDEC, MPEGTS, AAC_LATM,  ARESAMPLE_FILTER) += $(FATE_AAC_LATM)
-FATE_AAC-$(call      DEMDEC, AAC,    AAC_FIXED, ARESAMPLE_FILTER) += $(FATE_AAC_FIXED)
+FATE_AAC-$(call      PCM,    AAC,    AAC,       ARESAMPLE_FILTER) += $(FATE_AAC_CT_RAW)
+FATE_AAC-$(call      PCM,    MOV,    AAC,       ARESAMPLE_FILTER) += $(FATE_AAC)
+FATE_AAC_LATM-$(call PCM,    MPEGTS, AAC_LATM,  ARESAMPLE_FILTER) += $(FATE_AAC_LATM)
+FATE_AAC-$(call      PCM,    AAC,    AAC_FIXED, ARESAMPLE_FILTER) += $(FATE_AAC_FIXED)
 
 FATE_AAC_ALL = $(FATE_AAC-yes) $(FATE_AAC_LATM-yes) $(FATE_AAC_FIXED-yes)
 
 $(FATE_AAC_ALL): CMP  = oneoff
 $(FATE_AAC_ALL): FUZZ = 2
 
-FATE_AAC_ENCODE-$(call ENCMUX, AAC, ADTS, ARESAMPLE_FILTER) += $(FATE_AAC_ENCODE)
+FATE_AAC_ENCODE-$(call TRANSCODE, AAC, ADTS AAC, WAV_MUXER WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += $(FATE_AAC_ENCODE)
 
-FATE_AAC_BSF-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER) += fate-aac-autobsf-adtstoasc
+FATE_AAC_BSF-$(call DEMDEC, AAC MATROSKA, AAC, AAC_PARSER AAC_ADTSTOASC_BSF MATROSKA_MUXER) += fate-aac-autobsf-adtstoasc
 
 FATE_SAMPLES_FFMPEG += $(FATE_AAC_ALL) $(FATE_AAC_ENCODE-yes) $(FATE_AAC_BSF-yes)
 
-fate-aac: $(FATE_AAC_ALL) $(FATE_AAC_ENCODE) $(FATE_AAC_BSF-yes)
+fate-aac: $(FATE_AAC_ALL) $(FATE_AAC_ENCODE-yes) $(FATE_AAC_BSF-yes)
 fate-aac-latm: $(FATE_AAC_LATM-yes)
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 10/20] fate/audio: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (8 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 09/20] fate/aac: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 11/20] fate/ac3: " Nicolas Gaullier
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/audio.mak | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak
index 6e091760ea..6d3cae8f52 100644
--- a/tests/fate/audio.mak
+++ b/tests/fate/audio.mak
@@ -5,12 +5,12 @@ FATE_SAMPLES_AUDIO-$(call TRANSCODE, APTX_HD, APTX_HD, WAV_DEMUXER PCM_S16LE_DEC
                           ARESAMPLE_FILTER PCM_S32LE_ENCODER) += fate-aptx-hd
 fate-aptx-hd: CMD = transcode wav $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav aptx_hd "-af aresample -c aptx_hd" "-af aresample -c:a pcm_s32le -t 0.25" "" "" "-f aptx_hd -sample_rate 44100"
 
-FATE_BINKAUDIO-$(call DEMDEC, BINK, BINKAUDIO_DCT, ARESAMPLE_FILTER) += fate-binkaudio-dct
+FATE_BINKAUDIO-$(call PCM, BINK, BINKAUDIO_DCT, ARESAMPLE_FILTER) += fate-binkaudio-dct
 fate-binkaudio-dct: CMD = pcm -i $(TARGET_SAMPLES)/bink/binkaudio_dct.bik
 fate-binkaudio-dct: REF = $(SAMPLES)/bink/binkaudio_dct.pcm
 fate-binkaudio-dct: FUZZ = 2
 
-FATE_BINKAUDIO-$(call DEMDEC, BINK, BINKAUDIO_RDFT, ARESAMPLE_FILTER) += fate-binkaudio-rdft
+FATE_BINKAUDIO-$(call PCM, BINK, BINKAUDIO_RDFT, ARESAMPLE_FILTER) += fate-binkaudio-rdft
 fate-binkaudio-rdft: CMD = pcm -i $(TARGET_SAMPLES)/bink/binkaudio_rdft.bik
 fate-binkaudio-rdft: REF = $(SAMPLES)/bink/binkaudio_rdft.pcm
 fate-binkaudio-rdft: FUZZ = 2
@@ -26,7 +26,7 @@ fate-bmv-audio: CMD = framecrc -i $(TARGET_SAMPLES)/bmv/SURFING-partial.BMV -vn
 FATE_SAMPLES_AUDIO-$(call DEMDEC, DSICIN, DSICINAUDIO) += fate-delphine-cin-audio
 fate-delphine-cin-audio: CMD = framecrc -i $(TARGET_SAMPLES)/delphine-cin/LOGO-partial.CIN -vn
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, S337M, DOLBY_E, ARESAMPLE_FILTER) += fate-dolby-e
+FATE_SAMPLES_AUDIO-$(call PCM, S337M, DOLBY_E, ARESAMPLE_FILTER) += fate-dolby-e
 fate-dolby-e: CMD = pcm -i $(TARGET_SAMPLES)/dolby_e/16-11
 fate-dolby-e: CMP = oneoff
 fate-dolby-e: REF = $(SAMPLES)/dolby_e/16-11.pcm
@@ -37,7 +37,7 @@ fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames 30 -af aresa
 FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-sp
 fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames 30
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, DSF, DST, ARESAMPLE_FILTER) += fate-dsf-dst
+FATE_SAMPLES_AUDIO-$(call PCM, DSF, DST, ARESAMPLE_FILTER) += fate-dsf-dst
 fate-dsf-dst: CMD = pcm -i $(TARGET_SAMPLES)/dst/dst-64fs44-2ch.dff
 fate-dsf-dst: CMP = oneoff
 fate-dsf-dst: REF = $(SAMPLES)/dst/dst-64fs44-2ch.pcm
@@ -48,12 +48,12 @@ fate-imc: CMP = oneoff
 fate-imc: CMP_TARGET = 59416
 fate-imc: REF = $(SAMPLES)/imc/imc-201706.pcm
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, WAV, MSNSIREN, ARESAMPLE_FILTER) += fate-msnsiren
+FATE_SAMPLES_AUDIO-$(call PCM, WAV, MSNSIREN, ARESAMPLE_FILTER) += fate-msnsiren
 fate-msnsiren: CMD = pcm -i $(TARGET_SAMPLES)/msnsiren/msnsiren2.wav
 fate-msnsiren: CMP = oneoff
 fate-msnsiren: REF = $(SAMPLES)/msnsiren/msnsiren2.pcm
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, FLV, NELLYMOSER, ARESAMPLE_FILTER) += fate-nellymoser
+FATE_SAMPLES_AUDIO-$(call PCM, FLV, NELLYMOSER, ARESAMPLE_FILTER) += fate-nellymoser
 fate-nellymoser: CMD = pcm -i $(TARGET_SAMPLES)/nellymoser/nellymoser.flv
 fate-nellymoser: CMP = oneoff
 fate-nellymoser: REF = $(SAMPLES)/nellymoser/nellymoser.pcm
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 11/20] fate/ac3: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (9 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 10/20] fate/audio: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 12/20] fate/cover-art: " Nicolas Gaullier
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/ac3.mak | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tests/fate/ac3.mak b/tests/fate/ac3.mak
index e52678a2fd..30f8b98ff1 100644
--- a/tests/fate/ac3.mak
+++ b/tests/fate/ac3.mak
@@ -65,17 +65,17 @@ fate-eac3-5: REF = $(SAMPLES)/eac3/the_great_wall_7.1.pcm
 
 $(FATE_AC3) $(FATE_EAC3): CMP = oneoff
 
-FATE_AC3-$(call  DEMDEC, AC3,  AC3,  ARESAMPLE_FILTER)  += $(FATE_AC3)
-FATE_EAC3-$(call DEMDEC, EAC3, EAC3, ARESAMPLE_FILTER) += $(FATE_EAC3)
+FATE_AC3-$(call  DEMDEC, AC3,  AC3 AC3_FIXED, PCM_S16LE_MUXER ARESAMPLE_FILTER)  += $(FATE_AC3)
+FATE_EAC3-$(call DEMDEC, EAC3, EAC3,          PCM_S16LE_MUXER ARESAMPLE_FILTER) += $(FATE_EAC3)
 
-FATE_AC3-$(call ENCDEC, AC3, AC3, ARESAMPLE_FILTER) += fate-ac3-encode
+FATE_AC3-$(call ENCDEC, AC3, AC3, WAV_MUXER WAV_DEMUXER ARESAMPLE_FILTER PCM_S16LE_ENCODER PIPE_PROTOCOL) += fate-ac3-encode
 fate-ac3-encode: CMD = enc_dec_pcm ac3 wav s16le $(subst $(SAMPLES),$(TARGET_SAMPLES),$(REF)) -c:a ac3 -b:a 128k
 fate-ac3-encode: CMP_SHIFT = -1024
 fate-ac3-encode: CMP_TARGET = 404.53
 fate-ac3-encode: SIZE_TOLERANCE = 488
 
 
-FATE_EAC3-$(call ENCDEC, EAC3, EAC3, ARESAMPLE_FILTER) += fate-eac3-encode
+FATE_EAC3-$(call ENCDEC, EAC3, EAC3, WAV_MUXER WAV_DEMUXER ARESAMPLE_FILTER PCM_S16LE_ENCODER PIPE_PROTOCOL) += fate-eac3-encode
 fate-eac3-encode: CMD = enc_dec_pcm eac3 wav s16le $(subst $(SAMPLES),$(TARGET_SAMPLES),$(REF)) -c:a eac3 -b:a 128k
 fate-eac3-encode: CMP_SHIFT = -1024
 fate-eac3-encode: CMP_TARGET = 516.94
@@ -84,7 +84,7 @@ fate-eac3-encode: SIZE_TOLERANCE = 488
 fate-ac3-encode fate-eac3-encode: CMP = stddev
 fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
 
-FATE_AC3-$(call ENCMUX, AC3_FIXED, AC3, ARESAMPLE_FILTER) += fate-ac3-fixed-encode
+FATE_AC3-$(call ENCMUX, AC3_FIXED, AC3, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-ac3-fixed-encode
 fate-ac3-fixed-encode: tests/data/asynth-44100-2.wav
 fate-ac3-fixed-encode: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-ac3-fixed-encode: CMD = md5 -i $(SRC) -c ac3_fixed -ab 128k -f ac3 -flags +bitexact -af aresample
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 12/20] fate/cover-art: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (10 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 11/20] fate/ac3: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 13/20] fate/hlsenc: " Nicolas Gaullier
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/cover-art.mak | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/fate/cover-art.mak b/tests/fate/cover-art.mak
index faa2182745..7ee9443864 100644
--- a/tests/fate/cover-art.mak
+++ b/tests/fate/cover-art.mak
@@ -1,32 +1,32 @@
-FATE_COVER_ART-$(CONFIG_APE_DEMUXER) += fate-cover-art-ape
+FATE_COVER_ART-$(call DEMDEC, APE, MJPEG) += fate-cover-art-ape
 fate-cover-art-ape: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/luckynight_cover.ape -an -c:v copy -f rawvideo
 fate-cover-art-ape: REF = 45333c983c45af54449dff10af144317
 
-FATE_COVER_ART-$(CONFIG_FLAC_DEMUXER) += fate-cover-art-flac
+FATE_COVER_ART-$(call DEMDEC, FLAC, MJPEG) += fate-cover-art-flac
 fate-cover-art-flac: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/cover_art.flac -an -c:v copy -f rawvideo
 fate-cover-art-flac: REF = 0de1fc6200596fa32b8f7300a14c0261
 
-FATE_COVER_ART-$(CONFIG_MOV_DEMUXER) += fate-cover-art-m4a
+FATE_COVER_ART-$(call DEMDEC, MOV, MJPEG) += fate-cover-art-m4a
 fate-cover-art-m4a: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/Owner-iTunes_9.0.3.15.m4a -an -c:v copy -f rawvideo
 fate-cover-art-m4a: REF = 08ba70a3b594ff6345a93965e96a9d3e
 
-FATE_COVER_ART-$(CONFIG_OGG_DEMUXER) += fate-cover-art-ogg
+FATE_COVER_ART-$(call DEMDEC, OGG, MJPEG) += fate-cover-art-ogg
 fate-cover-art-ogg: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/ogg_vorbiscomment_cover.opus -map 0:v -c:v copy -f rawvideo
 fate-cover-art-ogg: REF = 7f117e073620eabb4ed02680cf70af41
 
-FATE_COVER_ART-$(CONFIG_ASF_DEMUXER) += fate-cover-art-wma
+FATE_COVER_ART-$(call DEMDEC, ASF, MJPEG) += fate-cover-art-wma
 fate-cover-art-wma: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/Californication_cover.wma -an -c:v copy -f rawvideo
 fate-cover-art-wma: REF = 0808bd0e1b61542a16e1906812dd924b
 
-FATE_COVER_ART-$(CONFIG_ASF_DEMUXER) += fate-cover-art-wma-id3
+FATE_COVER_ART-$(call DEMDEC, ASF, MJPEG) += fate-cover-art-wma-id3
 fate-cover-art-wma-id3: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/wma_with_ID3_APIC_trimmed.wma -an -c:v copy -f rawvideo
 fate-cover-art-wma-id3: REF = e6a8dd03687d5178bc13fc7d3316696e
 
-FATE_COVER_ART-$(CONFIG_ASF_DEMUXER) += fate-cover-art-wma-metadatalib
+FATE_COVER_ART-$(call DEMDEC, ASF, MJPEG) += fate-cover-art-wma-metadatalib
 fate-cover-art-wma-metadatalib: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/wma_with_metadata_library_object_tag_trimmed.wma -map 0:v -c:v copy -f rawvideo
 fate-cover-art-wma-metadatalib: REF = 32e8bd4fad546f63d881a0256f083aea
 
-FATE_COVER_ART-$(CONFIG_WV_DEMUXER) += fate-cover-art-wv
+FATE_COVER_ART-$(call DEMDEC, WV, MJPEG) += fate-cover-art-wv
 fate-cover-art-wv: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/luckynight_cover.wv -an -c:v copy -f rawvideo
 fate-cover-art-wv: REF = 45333c983c45af54449dff10af144317
 
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 13/20] fate/hlsenc: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (11 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 12/20] fate/cover-art: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 14/20] fate/mpeg4: " Nicolas Gaullier
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/hlsenc.mak | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tests/fate/hlsenc.mak b/tests/fate/hlsenc.mak
index 98341b2b81..72c75bec3a 100644
--- a/tests/fate/hlsenc.mak
+++ b/tests/fate/hlsenc.mak
@@ -5,7 +5,7 @@ tests/data/live_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
         -hls_flags omit_endlist -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_no_endlist_%03d.ts \
         $(TARGET_PATH)/tests/data/live_no_endlist.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-no-endlist
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, HDCD AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED PCM_S24LE, HLS MPEGTS PCM_S24LE, LAVFI_INDEV) += fate-hls-live-no-endlist
 fate-hls-live-no-endlist: tests/data/live_no_endlist.m3u8
 fate-hls-live-no-endlist: SRC = $(TARGET_PATH)/tests/data/live_no_endlist.m3u8
 fate-hls-live-no-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 6 -f s24le
@@ -19,7 +19,7 @@ tests/data/live_last_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
         -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_last_endlist_%03d.ts \
         $(TARGET_PATH)/tests/data/live_last_endlist.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-last-endlist
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, HDCD AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED PCM_S24LE, HLS MPEGTS PCM_S24LE, LAVFI_INDEV) += fate-hls-live-last-endlist
 fate-hls-live-last-endlist: tests/data/live_last_endlist.m3u8
 fate-hls-live-last-endlist: SRC = $(TARGET_PATH)/tests/data/live_last_endlist.m3u8
 fate-hls-live-last-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 6 -f s24le
@@ -34,7 +34,7 @@ tests/data/live_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
         -hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_endlist_%d.ts \
         $(TARGET_PATH)/tests/data/live_endlist.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-endlist
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, HDCD AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED PCM_S24LE, HLS MPEGTS PCM_S24LE, LAVFI_INDEV ) += fate-hls-live-endlist
 fate-hls-live-endlist: tests/data/live_endlist.m3u8
 fate-hls-live-endlist: SRC = $(TARGET_PATH)/tests/data/live_endlist.m3u8
 fate-hls-live-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 20 -f s24le
@@ -48,7 +48,7 @@ tests/data/hls_segment_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_size_%d.ts \
 	$(TARGET_PATH)/tests/data/hls_segment_size.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-segment-size
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, HLS MPEGTS, LAVFI_INDEV) += fate-hls-segment-size
 fate-hls-segment-size: tests/data/hls_segment_size.m3u8
 fate-hls-segment-size: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_segment_size.m3u8 -vf setpts=N*23
 
@@ -59,7 +59,7 @@ tests/data/hls_segment_single.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_single.ts \
 	$(TARGET_PATH)/tests/data/hls_segment_single.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-segment-single
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, HLS MPEGTS, LAVFI_INDEV) += fate-hls-segment-single
 fate-hls-segment-single: tests/data/hls_segment_single.m3u8
 fate-hls-segment-single: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_segment_single.m3u8 -vf setpts=N*23
 
@@ -70,7 +70,7 @@ tests/data/hls_init_time.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_list_size 5 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_init_time_%d.ts \
 	$(TARGET_PATH)/tests/data/hls_init_time.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-init-time
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, HLS MPEGTS, LAVFI_INDEV) += fate-hls-init-time
 fate-hls-init-time: tests/data/hls_init_time.m3u8
 fate-hls-init-time: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_init_time.m3u8 -vf setpts=N*23
 
@@ -81,7 +81,7 @@ tests/data/hls_list_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_list_size 4 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_list_size_%d.ts \
 	$(TARGET_PATH)/tests/data/hls_list_size.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-list-size
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, HLS MPEGTS, LAVFI_INDEV) += fate-hls-list-size
 fate-hls-list-size: tests/data/hls_list_size.m3u8
 fate-hls-list-size: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_list_size.m3u8 -vf setpts=N*23
 
@@ -93,7 +93,7 @@ tests/data/hls_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_time 1 -hls_segment_filename "$(TARGET_PATH)/tests/data/hls_fmp4_%d.m4s" \
 	$(TARGET_PATH)/tests/data/hls_fmp4.m3u8 2>/dev/null
 
-FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-fmp4
+FATE_HLSENC-$(call FILTERDEMDECENCMUX, AEVALSRC ARESAMPLE, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, HLS MPEGTS, LAVFI_INDEV) += fate-hls-fmp4
 fate-hls-fmp4: tests/data/hls_fmp4.m3u8
 fate-hls-fmp4: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_fmp4.m3u8 -vf setpts=N*23
 
@@ -105,7 +105,7 @@ tests/data/hls_fmp4_ac3.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_time 2 -hls_segment_filename "$(TARGET_PATH)/tests/data/hls_fmp4_ac3_%d.m4s" \
 	$(TARGET_PATH)/tests/data/hls_fmp4_ac3.m3u8 2>/dev/null
 
-FATE_HLSENC_PROBE-$(call ALLYES, HLS_DEMUXER EAC3_DEMUXER) += fate-hls-fmp4_ac3
+FATE_HLSENC_PROBE-$(call DEMMUX, HLS AC3, HLS MP4, AC3_DECODER) += fate-hls-fmp4_ac3
 fate-hls-fmp4_ac3: tests/data/hls_fmp4_ac3.m3u8
 fate-hls-fmp4_ac3: CMD = probeaudiostream $(TARGET_PATH)/tests/data/now_ac3.mp4
 
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 14/20] fate/mpeg4: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (12 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 13/20] fate/hlsenc: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 15/20] fate/pcm: " Nicolas Gaullier
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/mpeg4.mak | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tests/fate/mpeg4.mak b/tests/fate/mpeg4.mak
index 9a3cd4e2fb..d6cce97a70 100644
--- a/tests/fate/mpeg4.mak
+++ b/tests/fate/mpeg4.mak
@@ -3,23 +3,22 @@ MPEG4_RESOLUTION_CHANGE = down-down down-up up-down up-up
 
 fate-mpeg4-resolution-change-%: CMD = framemd5 -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/resize_$(@:fate-mpeg4-resolution-change-%=%).h263 -sws_flags +bitexact
 
-FATE_MPEG4-$(call FRAMEMD5, M4V, MPEG4, SCALE_FILTER) := $(addprefix fate-mpeg4-resolution-change-, $(MPEG4_RESOLUTION_CHANGE))
+FATE_MPEG4-$(call FRAMEMD5, M4V, MPEG4, MPEG4VIDEO_PARSER SCALE_FILTER) := $(addprefix fate-mpeg4-resolution-change-, $(MPEG4_RESOLUTION_CHANGE))
 
 fate-mpeg4-bsf-unpack-bframes: CMD = md5 -i $(TARGET_SAMPLES)/mpeg4/packed_bframes.avi -flags +bitexact -fflags +bitexact -c:v copy -bsf mpeg4_unpack_bframes -f avi
 FATE_MPEG4-$(call DEMMUX, AVI, AVI, MPEG4_UNPACK_BFRAMES_BSF) += fate-mpeg4-bsf-unpack-bframes
 
 fate-mpeg4-packed: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/packed_bframes.avi -flags +bitexact -fflags +bitexact -fps_mode cfr
-FATE_MPEG4-$(call FRAMECRC, AVI, MPEG4) += fate-mpeg4-packed
+FATE_MPEG4-$(call FRAMECRC, AVI, MPEG4, MPEG4VIDEO_PARSER) += fate-mpeg4-packed
 
-FATE_MPEG4-$(call ALLYES, FILE_PROTOCOL M4V_DEMUXER MPEG4_DECODER SCALE_FILTER \
-                          RAWVIDEO_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) \
+FATE_MPEG4-$(call FRAMECRC, M4V, MPEG4, MPEG4VIDEO_PARSER SCALE_FILTER) \
                           += fate-mpeg4-simple-studio-profile
 fate-mpeg4-simple-studio-profile: CMD = framecrc -bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/mpeg4_sstp_dpcm.m4v -sws_flags +accurate_rnd+bitexact -pix_fmt yuv422p10le -vf scale
 
-FATE_MPEG4-$(call FRAMECRC, M4V, MPEG4) += fate-m4v
+FATE_MPEG4-$(call FRAMECRC, M4V, MPEG4, MPEG4VIDEO_PARSER) += fate-m4v
 fate-m4v:     CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/demo.m4v
 
-FATE_MPEG4-$(call FRAMECRC, M4V, MPEG4, FPS_FILTER) += fate-m4v-cfr
+FATE_MPEG4-$(call FRAMECRC, M4V, MPEG4, MPEG4VIDEO_PARSER FPS_FILTER) += fate-m4v-cfr
 fate-m4v-cfr: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/demo.m4v -vf fps=5
 
 FATE_SAMPLES_AVCONV += $(FATE_MPEG4-yes)
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 15/20] fate/pcm: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (13 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 14/20] fate/mpeg4: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 16/20] fate/hevc: " Nicolas Gaullier
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/pcm.mak | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/fate/pcm.mak b/tests/fate/pcm.mak
index b10233a9eb..75636118b2 100644
--- a/tests/fate/pcm.mak
+++ b/tests/fate/pcm.mak
@@ -1,4 +1,4 @@
-FATE_SAMPLES_PCM-$(call DEMDEC, WAV, PCM_U8, ARESAMPLE_FILTER) += fate-iff-pcm
+FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE PCM_U8, PCM_S16LE WAV, ARESAMPLE_FILTER) += fate-iff-pcm
 fate-iff-pcm: CMD = md5 -i $(TARGET_SAMPLES)/iff/Bells -f s16le -af aresample
 
 FATE_SAMPLES_PCM-$(call DEMDEC, MPEGPS, PCM_DVD, ARESAMPLE_FILTER) += fate-pcm_dvd
@@ -7,22 +7,22 @@ fate-pcm_dvd: CMD = framecrc -i $(TARGET_SAMPLES)/pcm-dvd/coolitnow-partial.vob
 FATE_SAMPLES_PCM-$(call DEMDEC, EA, PCM_S16LE_PLANAR, ARESAMPLE_FILTER) += fate-pcm-planar
 fate-pcm-planar: CMD = framecrc -i $(TARGET_SAMPLES)/ea-mad/xeasport.mad -vn -af aresample
 
-FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16BE) += fate-pcm_s16be-stereo
+FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16BE, PCM_S16LE_MUXER) += fate-pcm_s16be-stereo
 fate-pcm_s16be-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov -f s16le
 
-FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16LE) += fate-pcm_s16le-stereo
+FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE, PCM_S16LE MOV) += fate-pcm_s16le-stereo
 fate-pcm_s16le-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-L-sowt.mov -f s16le
 
-FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_U8, ARESAMPLE_FILTER) += fate-pcm_u8-mono
+FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE PCM_U8, PCM_S16LE MOV, ARESAMPLE_FILTER) += fate-pcm_u8-mono
 fate-pcm_u8-mono: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-1-8-raw.mov -f s16le -af aresample
 
-FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_U8, ARESAMPLE_FILTER) += fate-pcm_u8-stereo
+FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE PCM_U8, PCM_S16LE MOV, ARESAMPLE_FILTER) += fate-pcm_u8-stereo
 fate-pcm_u8-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-8-raw.mov -f s16le -af aresample
 
 FATE_SAMPLES_PCM-$(call DEMDEC, W64, PCM_S16LE) += fate-w64
 fate-w64: CMD = crc -i $(TARGET_SAMPLES)/w64/w64-pcm16.w64
 
-FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD) += fate-dcinema-encode
+FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD, WAV_DEMUXER) += fate-dcinema-encode
 fate-dcinema-encode: tests/data/asynth-96000-6.wav
 fate-dcinema-encode: SRC = tests/data/asynth-96000-6.wav
 fate-dcinema-encode: CMD = enc_dec_pcm daud framemd5 s16le $(SRC) -c:a pcm_s24daud -frames:a 20
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 16/20] fate/hevc: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (14 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 15/20] fate/pcm: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 17/20] fate/all: " Nicolas Gaullier
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/hevc.mak | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/fate/hevc.mak b/tests/fate/hevc.mak
index 3ad6e255a9..7b22e36a3d 100644
--- a/tests/fate/hevc.mak
+++ b/tests/fate/hevc.mak
@@ -219,7 +219,7 @@ FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER) +=         \
                                                     $(HEVC_TESTS_422_10BIN) \
                                                     $(HEVC_TESTS_444_12BIT) \
 
-FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER) += $(HEVC_TESTS_MULTIVIEW)
+FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER SETPTS_FILTER) += $(HEVC_TESTS_MULTIVIEW)
 
 fate-hevc-paramchange-yuv420p-yuv420p10: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/paramchange_yuv420p_yuv420p10.hevc -fps_mode passthrough -sws_flags area+accurate_rnd+bitexact
 FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER LARGE_TESTS) += fate-hevc-paramchange-yuv420p-yuv420p10
@@ -229,7 +229,7 @@ tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \
 	-i $(TARGET_SAMPLES)/hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags +bitexact $(TARGET_PATH)/$@ -y 2>/dev/null
 
-FATE_HEVC-$(call ALLYES, HEVC_DEMUXER MOV_DEMUXER HEVC_PARSER HEVC_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF MOV_MUXER HEVC_MUXER) += fate-hevc-bsf-mp4toannexb
+FATE_HEVC-$(call DEMMUX, HEVC MOV, MOV HEVC, HEVC_PARSER HEVC_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-hevc-bsf-mp4toannexb
 fate-hevc-bsf-mp4toannexb: tests/data/hevc-mp4.mov
 fate-hevc-bsf-mp4toannexb: CMD = md5 -i $(TARGET_PATH)/tests/data/hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc
 fate-hevc-bsf-mp4toannexb: CMP = oneline
@@ -270,11 +270,11 @@ fate-hevc-small422chroma: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/food.hevc -pi
 FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER) += fate-hevc-small422chroma
 
 fate-hevc-pir: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/pir.hevc
-FATE_HEVC-$(call FRAMECRC, HEVC, HEVC) += fate-hevc-pir
+FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER) += fate-hevc-pir
 
 # multiview stream, where the secondary layer has a nontrivial nuh_layer_id=6
 fate-hevc-mv-nuh-layer-id: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/mv_nuh_layer_id.bit -map 0:view:all
-FATE_HEVC-$(call FRAMECRC, HEVC, HEVC) += fate-hevc-mv-nuh-layer-id
+FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER) += fate-hevc-mv-nuh-layer-id
 
 # NB: $\ at the end of line joins lines without adding whitespace;
 # this trick is recommended by GNU make manual
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 17/20] fate/all: fix multiple dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (15 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 16/20] fate/hevc: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 18/20] fate/all: add missing file protocol dependencies Nicolas Gaullier
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/fate/api.mak          | 2 +-
 tests/fate/cbs.mak          | 2 +-
 tests/fate/ffmpeg.mak       | 6 +++---
 tests/fate/filter-audio.mak | 8 ++++----
 tests/fate/filter-video.mak | 2 +-
 tests/fate/fits.mak         | 4 ++--
 tests/fate/gif.mak          | 2 +-
 tests/fate/h264.mak         | 6 +++---
 tests/fate/image.mak        | 2 +-
 tests/fate/libavformat.mak  | 2 +-
 tests/fate/matroska.mak     | 7 ++++---
 tests/fate/ogg-flac.mak     | 2 +-
 tests/fate/pixfmt.mak       | 1 +
 tests/fate/segment.mak      | 6 +++---
 tests/fate/vcodec.mak       | 4 +++-
 tests/fate/video.mak        | 2 +-
 tests/fate/voice.mak        | 4 ++--
 tests/fate/xvid.mak         | 2 +-
 18 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/tests/fate/api.mak b/tests/fate/api.mak
index d2868e57ac..6a4752e32b 100644
--- a/tests/fate/api.mak
+++ b/tests/fate/api.mak
@@ -8,7 +8,7 @@ fate-api-band: $(APITESTSDIR)/api-band-test$(EXESUF)
 fate-api-band: CMD = run $(APITESTSDIR)/api-band-test$(EXESUF) $(TARGET_SAMPLES)/mpeg4/resize_down-up.h263
 fate-api-band: CMP = null
 
-FATE_API_SAMPLES_LIBAVFORMAT-$(call DEMDEC, H264, H264) += fate-api-h264
+FATE_API_SAMPLES_LIBAVFORMAT-$(call DEMDEC, H264, H264, H264_PARSER) += fate-api-h264
 fate-api-h264: $(APITESTSDIR)/api-h264-test$(EXESUF)
 fate-api-h264: CMD = run $(APITESTSDIR)/api-h264-test$(EXESUF) $(TARGET_SAMPLES)/h264-conformance/SVA_NL2_E.264
 
diff --git a/tests/fate/cbs.mak b/tests/fate/cbs.mak
index 138dab67a9..2b6cf0df73 100644
--- a/tests/fate/cbs.mak
+++ b/tests/fate/cbs.mak
@@ -175,7 +175,7 @@ FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_MUXER HEVC_PARSER FILTER_UNITS_BS
 fate-cbs-hevc-metadata-set-color: CMD = md5 -i $(TARGET_SAMPLES)/hevc-conformance/AMP_A_Samsung_4.bit -c:v copy -bsf:v hevc_metadata=colour_primaries=0:transfer_characteristics=0:matrix_coefficients=3 -f hevc
 fate-cbs-hevc-metadata-set-color: CMP = oneline
 fate-cbs-hevc-metadata-set-color: REF = d073124fca9e30a46c173292f948967c
-FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER, HEVC_METADATA_BSF, HEVC_MUXER) += fate-cbs-hevc-metadata-set-color
+FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_METADATA_BSF HEVC_MUXER) += fate-cbs-hevc-metadata-set-color
 
 FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes)
 fate-cbs-hevc: $(FATE_CBS_HEVC-yes)
diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak
index d9348ee837..87130428d1 100644
--- a/tests/fate/ffmpeg.mak
+++ b/tests/fate/ffmpeg.mak
@@ -40,7 +40,7 @@ fate-force_key_frames-source-dup: CMD = framecrc -i $(TARGET_SAMPLES)/h264/intra
   -c:v mpeg2video -g 400 -sc_threshold 99999 \
   -force_key_frames source -r 39 -force_fps -strict experimental
 
-FATE_SAMPLES_FFMPEG-$(call ENCDEC, MPEG2VIDEO H264, FRAMECRC H264, CROP_FILTER DRAWBOX_FILTER) += \
+FATE_SAMPLES_FFMPEG-$(call ENCDEC, MPEG2VIDEO H264, FRAMECRC H264, H264_PARSER CROP_FILTER DRAWBOX_FILTER) += \
     fate-force_key_frames-source fate-force_key_frames-source-drop fate-force_key_frames-source-dup
 
 # Tests that the video is properly autorotated using the contained
@@ -171,7 +171,7 @@ FATE_STREAMCOPY-$(call REMUX, PSP MOV, H264_PARSER H264_DECODER) += fate-copy-ps
 fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
                       psp "-c copy" "-codec copy"
 
-FATE_STREAMCOPY-$(call FRAMEMD5, FLV, H264) += fate-ffmpeg-streamloop-copy
+FATE_STREAMCOPY-$(call FRAMEMD5, FLV, H264, H264_PARSER) += fate-ffmpeg-streamloop-copy
 fate-ffmpeg-streamloop-copy: CMD = framemd5 -stream_loop 2 -i $(TARGET_SAMPLES)/flv/streamloop.flv -c copy
 
 tests/data/audio_shorter_than_video.nut: TAG = GEN
@@ -255,7 +255,7 @@ fate-ffmpeg-streamcopy-t: CMP = null
 fate-ffmpeg-streamcopy-t: CMD = ffmpeg                                                                \
     -stream_loop -1 -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth1.yuv  \
     -c copy -f null -t 1 -
-FATE_FFMPEG-$(call REMUX, RAWVIDEO) += fate-ffmpeg-streamcopy-t
+FATE_FFMPEG-$(call REMUX, RAWVIDEO, NULL_MUXER) += fate-ffmpeg-streamcopy-t
 
 # Test loopback decoding and passing the output to a complex graph.
 fate-ffmpeg-loopback-decoding: tests/data/vsynth1.yuv
diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 343fa40e9d..22b544e3ef 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -210,7 +210,7 @@ tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
         -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f segment -segment_time 10 -map 0 -flags +bitexact -codec:a mp2fixed \
         -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/hls-out-%03d.ts 2>/dev/null
 
-FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, ARESAMPLE AEVALSRC, HLS MPEGTS, MP2 PCM_F64LE, MP2FIXED, SEGMENT MPEGTS, LAVFI_INDEV) += fate-filter-hls
 fate-filter-hls: tests/data/hls-list.m3u8
 fate-filter-hls: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list.m3u8 -af aresample
 
@@ -224,7 +224,7 @@ tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
         -hls_flags append_list -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls-append-out-%03d.ts \
         $(TARGET_PATH)/tests/data/hls-list-append.m3u8 2>/dev/null
 
-FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER ARESAMPLE_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls-append
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, ARESAMPLE AEVALSRC ASETPTS, HLS MPEGTS, PCM_F64LE MP2, MP2FIXED, SEGMENT HLS MPEGTS, LAVFI_INDEV) += fate-filter-hls-append
 fate-filter-hls-append: tests/data/hls-list-append.m3u8
 fate-filter-hls-append: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list-append.m3u8 -af asetpts=N*23,aresample
 
@@ -249,7 +249,7 @@ $(FATE_AMIX): SRC1 = $(TARGET_PATH)/tests/data/asynth-44100-2-2.wav
 $(FATE_AMIX): CMP  = oneoff
 $(FATE_AMIX): CMP_UNIT = f32
 
-FATE_AFILTER_SAMPLES-$(CONFIG_ARESAMPLE_FILTER) += fate-filter-aresample
+FATE_AFILTER_SAMPLES-$(call DEMDEC, FLV, NELLYMOSER, PCM_S16LE_MUXER ARESAMPLE_FILTER) += fate-filter-aresample
 fate-filter-aresample: SRC = $(TARGET_SAMPLES)/nellymoser/nellymoser-discont.flv
 fate-filter-aresample: CMD = pcm -analyzeduration 10000000 -i $(SRC) -af aresample=min_comp=0.001:min_hard_comp=0.1:first_pts=0
 fate-filter-aresample: CMP = oneoff
@@ -412,7 +412,7 @@ fate-filter-hdcd-s32p: CMD = md5 -i $(SRC) -af hdcd -f s32le
 fate-filter-hdcd-s32p: CMP = oneline
 fate-filter-hdcd-s32p: REF = 0c5513e83eedaa10ab6fac9ddc173cf5
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ATEMPO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-atempo
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ATEMPO, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE WAV) += fate-filter-atempo
 fate-filter-atempo: tests/data/asynth-44100-1.wav
 fate-filter-atempo: CMD = pcm -i $(TARGET_PATH)/tests/data/asynth-44100-1.wav -af "atempo=2.0"
 fate-filter-atempo: CMP = oneoff
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index df8a932750..86f4511478 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -720,7 +720,7 @@ CROPDETECT_DEPS = LAVFI_INDEV FILE_PROTOCOL MOVIE_FILTER MOVIE_FILTER MESTIMATE_
 FATE_METADATA_FILTER-$(call ALLYES, $(CROPDETECT_DEPS)) += fate-filter-metadata-cropdetect
 fate-filter-metadata-cropdetect: SRC = $(TARGET_SAMPLES)/filter/cropdetect.mp4
 fate-filter-metadata-cropdetect: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;movie='$(SRC)',cropdetect=max_outliers=3"
-FATE_METADATA_FILTER-$(call ALLYES, $(CROPDETECT_DEPS)) += fate-filter-metadata-cropdetect1
+FATE_METADATA_FILTER-$(call ALLYES, $(CROPDETECT_DEPS) MPEG4_DECODER) += fate-filter-metadata-cropdetect1
 fate-filter-metadata-cropdetect1: SRC = $(TARGET_SAMPLES)/filter/cropdetect1.mp4
 fate-filter-metadata-cropdetect1: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;movie='$(SRC)',mestimate,cropdetect=mode=mvedges,metadata=mode=print"
 FATE_METADATA_FILTER-$(call ALLYES, $(CROPDETECT_DEPS)) += fate-filter-metadata-cropdetect2
diff --git a/tests/fate/fits.mak b/tests/fate/fits.mak
index b83900aaee..408a0cf23d 100644
--- a/tests/fate/fits.mak
+++ b/tests/fate/fits.mak
@@ -23,7 +23,7 @@ fate-fitsdec-bitpix-32: CMD = framecrc -i $(TARGET_SAMPLES)/fits/tst0005.fits -p
 FATE_FITS_DEC-$(call FRAMECRC, FITS, FITS, SCALE_FILTER) += fate-fitsdec-bitpix-64
 fate-fitsdec-bitpix-64: CMD = framecrc -i $(TARGET_SAMPLES)/fits/tst0006.fits -pix_fmt gray16le -vf scale
 
-FATE_FITS_DEC-$(call TRANSCODE, FITS, FITS, GIF_DEMUXER GIF_DECODER SCALE_FILTER) += fate-fitsdec-multi
+FATE_FITS_DEC-$(call TRANSCODE, FITS, FITS, GIF_DEMUXER GIF_DECODER GIF_PARSER SCALE_FILTER) += fate-fitsdec-multi
 fate-fitsdec-multi: tests/data/fits-multi.fits
 fate-fitsdec-multi: CMD = framecrc -i $(TARGET_PATH)/tests/data/fits-multi.fits -pix_fmt gbrap
 
@@ -42,7 +42,7 @@ fate-fitsenc%: CMD = framecrc -auto_conversion_filters -i $(SRC) -c:v fits -pix_
 
 FATE_FITS_ENC_PIXFMT = gray gray16be gbrp gbrap gbrp16be gbrap16be
 $(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%): tests/data/fits-multi.fits
-FATE_FITS_ENC-$(call TRANSCODE, FITS, FITS, GIF_DEMUXER GIF_DECODER SCALE_FILTER) += $(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%)
+FATE_FITS_ENC-$(call TRANSCODE, FITS, FITS, GIF_DEMUXER GIF_DECODER GIF_PARSER SCALE_FILTER) += $(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%)
 
 FATE_FITS += $(FATE_FITS_ENC-yes)
 fate-fitsenc: $(FATE_FITS_ENC-yes)
diff --git a/tests/fate/gif.mak b/tests/fate/gif.mak
index fc5a73218d..ab556a45d9 100644
--- a/tests/fate/gif.mak
+++ b/tests/fate/gif.mak
@@ -13,7 +13,7 @@ fate-gif-gray: CMD = framecrc -i $(TARGET_SAMPLES)/gif/Newtons_cradle_animation_
 FATE_GIF += fate-gif-deal
 fate-gif-deal: CMD = framecrc -i $(TARGET_SAMPLES)/gif/deal.gif -fps_mode cfr -pix_fmt bgra -auto_conversion_filters
 
-FATE_GIF-$(call FRAMECRC, GIF, GIF, SCALE_FILTER) += $(FATE_GIF)
+FATE_GIF-$(call FRAMECRC, GIF, GIF, GIF_PARSER SCALE_FILTER) += $(FATE_GIF)
 
 fate-gifenc%: PIXFMT = $(word 3, $(subst -, ,$(@)))
 fate-gifenc%: SRC = $(TARGET_SAMPLES)/gif/tc217.gif
diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index a4aa9668c0..291e88c149 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -225,15 +225,15 @@ FATE_H264-$(call FRAMECRC, MOV, H264) += fate-h264-unescaped-extradata
 # this sample contains field-coded frames, with both fields in a single packet
 FATE_H264-$(call FRAMECRC, MOV, H264) += fate-h264-twofields-packet
 
-FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF H264_METADATA_BSF SCALE_FILTER) += fate-h264-bsf-mp4toannexb-new-extradata
+FATE_H264-$(call DEMDEC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF H264_METADATA_BSF SCALE_FILTER) += fate-h264-bsf-mp4toannexb-new-extradata
 
 FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF) += fate-h264-bsf-mp4toannexb \
                                                              fate-h264-bsf-mp4toannexb-2 \
 
-FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket5927 \
+FATE_H264-$(call DEMDEC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket5927 \
                                                              fate-h264_mp4toannexb_ticket5927_2
 
-FATE_H264-$(call DEMMUX, H264, MOV, DTS2PTS_BSF) += fate-h264-bsf-dts2pts
+FATE_H264-$(call DEMMUX, H264, MOV, H264_PARSER DTS2PTS_BSF) += fate-h264-bsf-dts2pts
 
 FATE_H264-$(call FRAMECRC, MATROSKA, H264) += fate-h264-direct-bff
 FATE_H264-$(call FRAMECRC, FLV, H264, SCALE_FILTER) += fate-h264-brokensps-2580
diff --git a/tests/fate/image.mak b/tests/fate/image.mak
index 042cf6438f..e9fe8ea3c1 100644
--- a/tests/fate/image.mak
+++ b/tests/fate/image.mak
@@ -331,7 +331,7 @@ FATE_EXR-$(call DEMDEC, IMAGE2, EXR, SCALE_FILTER) += $(FATE_EXR)
 FATE_IMAGE_FRAMECRC += $(FATE_EXR-yes)
 fate-exr: $(FATE_EXR-yes)
 
-FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG, SCALE_FILTER) += fate-jpg-12bpp
+FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG, SCALE_FILTER SETSAR_FILTER) += fate-jpg-12bpp
 fate-jpg-12bpp: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/12bpp.jpg -f rawvideo -pix_fmt gray16le -vf setsar=sar=sar,scale
 
 FATE_JPG += fate-jpg-jfif
diff --git a/tests/fate/libavformat.mak b/tests/fate/libavformat.mak
index d2acb4c9e0..3b3a8a1177 100644
--- a/tests/fate/libavformat.mak
+++ b/tests/fate/libavformat.mak
@@ -18,7 +18,7 @@ FATE_LIBAVFORMAT-yes += fate-url
 fate-url: libavformat/tests/url$(EXESUF)
 fate-url: CMD = run libavformat/tests/url$(EXESUF)
 
-FATE_LIBAVFORMAT-$(CONFIG_MOV_MUXER) += fate-movenc
+FATE_LIBAVFORMAT-$(call ALLYES, MP4_MUXER ISMV_MUXER) += fate-movenc
 fate-movenc: libavformat/tests/movenc$(EXESUF)
 fate-movenc: CMD = run libavformat/tests/movenc$(EXESUF)
 
diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak
index b00d19942d..08e9614a67 100644
--- a/tests/fate/matroska.mak
+++ b/tests/fate/matroska.mak
@@ -9,7 +9,7 @@ fate-matroska-prores-header-insertion-bz2: CMD = framecrc -i $(TARGET_SAMPLES)/m
 # This tests that the matroska demuxer supports modifying the colorspace
 # properties in remuxing (-c:v copy)
 # It also tests automatic insertion of the vp9_superframe bitstream filter
-FATE_MATROSKA-$(call DEMMUX, MATROSKA, MATROSKA) += fate-matroska-remux
+FATE_MATROSKA-$(call DEMMUX, MATROSKA, MATROSKA, VP9_DECODER VP9_PARSER MD5_PROTOCOL) += fate-matroska-remux
 fate-matroska-remux: CMD = md5pipe -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-2pass-akiyo.webm -color_trc 4 -c:v copy -fflags +bitexact -strict -2 -f matroska
 fate-matroska-remux: CMP = oneline
 fate-matroska-remux: REF = b9c7b650349972c9dce42ab79b472917
@@ -213,6 +213,7 @@ fate-matroska-ogg-opus-remux: CMD = transcode ogg $(TARGET_SAMPLES)/ogg/intro-pa
 FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, MATROSKA, MXF_DEMUXER PCM_S16LE_DECODER \
                                            MP2FIXED_ENCODER ARESAMPLE_FILTER       \
                                            MPEG2VIDEO_DECODER MPEGVIDEO_PARSER     \
+                                           MPEGAUDIO_PARSER                        \
                                            EXTRACT_EXTRADATA_BSF) += fate-matroska-encoding-delay
 fate-matroska-encoding-delay: CMD = transcode mxf $(TARGET_SAMPLES)/mxf/Sony-00001.mxf matroska "-c:v copy -af aresample -c:a mp2fixed" "-copyts -c copy" "-show_packets -show_entries stream=codec_name,initial_padding -read_intervals %0.05"
 
@@ -234,7 +235,7 @@ fate-matroska-pgs-remux-durations: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs
 FATE_MATROSKA-$(call REMUX, MATROSKA, MPEGTS_DEMUXER DVBSUB_PARSER SETTS_BSF) += fate-matroska-dvbsub-remux
 fate-matroska-dvbsub-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts matroska "-map 0:s -map 0:s -t 20 -c copy -bsf:0 setts=duration=if(gt(DURATION\,0)\,DURATION\,if(eq(PTS\,NOPTS)\,0\,if(eq(NEXT_PTS\,NOPTS)\,0\,NEXT_PTS-PTS))):pts=PTS" "-map 0 -c copy"
 
-FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono
+FATE_MATROSKA_FFPROBE-$(call DEMDEC, MATROSKA, H264) += fate-matroska-spherical-mono
 fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv
 
 # This test tests the handling of AVStereo3D information, in particular
@@ -272,7 +273,7 @@ FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, WEBM MATROSKA, VP9_PARSER) \
                                += fate-webm-hdr10-plus-remux
 fate-webm-hdr10-plus-remux: CMD = transcode webm $(TARGET_SAMPLES)/mkv/hdr10_plus_vp9_sample.webm webm "-map 0 -c:v copy" "-map 0 -c:v copy" "-show_packets"
 
-FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, MATROSKA, VP9_PARSER) \
+FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, MATROSKA, VP9_DECODER VP9_PARSER) \
                                += fate-matroska-hdr10-plus-remux
 fate-matroska-hdr10-plus-remux: CMD = transcode webm $(TARGET_SAMPLES)/mkv/hdr10_plus_vp9_sample.webm matroska "-map 0 -c:v copy" "-map 0 -c:v copy" "-show_packets"
 
diff --git a/tests/fate/ogg-flac.mak b/tests/fate/ogg-flac.mak
index 0d6a015161..07bdb232cb 100644
--- a/tests/fate/ogg-flac.mak
+++ b/tests/fate/ogg-flac.mak
@@ -2,7 +2,7 @@ FATE_OGG_FLAC += fate-ogg-flac-chained-meta
 fate-ogg-flac-chained-meta: REF = $(SRC_PATH)/tests/ref/fate/ogg-flac-chained-meta.txt
 fate-ogg-flac-chained-meta: CMD = run $(APITESTSDIR)/api-dump-stream-meta-test$(EXESUF) $(TARGET_SAMPLES)/ogg-flac/chained-meta.ogg
 
-FATE_OGG_FLAC-$(call DEMDEC, OGG, FLAC) += $(FATE_OGG_FLAC)
+FATE_OGG_FLAC-$(call DEMDEC, OGG, FLAC, FLAC_PARSER) += $(FATE_OGG_FLAC)
 
 FATE_SAMPLES_DUMP_STREAM_META += $(FATE_OGG_FLAC-yes)
 
diff --git a/tests/fate/pixfmt.mak b/tests/fate/pixfmt.mak
index 5f8e343fdc..6c518a5000 100644
--- a/tests/fate/pixfmt.mak
+++ b/tests/fate/pixfmt.mak
@@ -33,6 +33,7 @@ $(FATE_PIXFMT): CMD = pixfmt_conversion
 $(FATE_PIXFMT): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
 $(FATE_PIXFMT): $(VREF)
 
+FATE_PIXFMT := $(if $(call DEMDEC, IMAGE2, PGMYUV RAWVIDEO, RAWVIDEO_DEMUXER RAWVIDEO_MUXER RAWVIDEO_ENCODER FILE_PROTOCOL), $(FATE_PIXFMT))
 PIXFMT_16_LIST =        gray16le        \
                         gray16be        \
                         yuv420p16le     \
diff --git a/tests/fate/segment.mak b/tests/fate/segment.mak
index b2f61681a4..cd906ad57a 100644
--- a/tests/fate/segment.mak
+++ b/tests/fate/segment.mak
@@ -35,20 +35,20 @@ tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data
 FATE_SEGMENT += fate-segment-mp4-to-ts
 fate-segment-mp4-to-ts: tests/data/mp4-to-ts.m3u8
 fate-segment-mp4-to-ts: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/mp4-to-ts.m3u8 -c copy
-FATE_SEGMENT-$(call ALLYES, MOV_DEMUXER H264_MP4TOANNEXB_BSF MPEGTS_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER EXTRACT_EXTRADATA_BSF) += fate-segment-mp4-to-ts
+FATE_SEGMENT-$(call DEMDEC, MOV HLS MATROSKA, H264, H264_PARSER H264_MP4TOANNEXB_BSF MPEGTS_MUXER STREAM_SEGMENT_MUXER EXTRACT_EXTRADATA_BSF) += fate-segment-mp4-to-ts
 
 FATE_SEGMENT += fate-segment-adts-to-mkv
 fate-segment-adts-to-mkv: tests/data/adts-to-mkv.m3u8
 fate-segment-adts-to-mkv: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/adts-to-mkv.m3u8 -c copy
 fate-segment-adts-to-mkv: REF = $(SRC_PATH)/tests/ref/fate/segment-adts-to-mkv-header-all
-FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-adts-to-mkv
+FATE_SEGMENT-$(call DEMDEC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += fate-segment-adts-to-mkv
 
 FATE_SEGMENT_ALLPARTS = $(FATE_SEGMENT_PARTS)
 FATE_SEGMENT_ALLPARTS += all
 FATE_SEGMENT_SPLIT += $(FATE_SEGMENT_ALLPARTS:%=fate-segment-adts-to-mkv-header-%)
 $(foreach N,$(FATE_SEGMENT_ALLPARTS),$(eval $(N:%=fate-segment-adts-to-mkv-header-%): tests/data/adts-to-mkv-cated-$(N).mkv))
 fate-segment-adts-to-mkv-header-%: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/$(@:fate-segment-adts-to-mkv-header-%=adts-to-mkv-cated-%).mkv -c copy
-FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += $(FATE_SEGMENT_SPLIT)
+FATE_SEGMENT-$(call DEMDEC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += $(FATE_SEGMENT_SPLIT)
 
 FATE_SAMPLES_FFMPEG += $(FATE_SEGMENT-yes)
 
diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
index b579389b7a..008d5ef98e 100644
--- a/tests/fate/vcodec.mak
+++ b/tests/fate/vcodec.mak
@@ -207,9 +207,11 @@ FATE_VCODEC-$(call ENCDEC, H261, AVI)   += h261 h261-trellis
 fate-vsynth%-h261:               ENCOPTS = -qscale 11 -flags +loop
 fate-vsynth%-h261-trellis:       ENCOPTS = -qscale 12 -trellis 1 -mbd rd
 
-FATE_VCODEC-$(call ENCDEC, H263, AVI)   += h263 h263-obmc h263p
+FATE_VCODEC-$(call ENCDEC, H263, AVI)  += h263 h263-obmc
 fate-vsynth%-h263:               ENCOPTS = -qscale 10
 fate-vsynth%-h263-obmc:          ENCOPTS = -qscale 10 -obmc 1
+
+FATE_VCODEC-$(call ENCDEC, H263P, AVI)  += h263p
 fate-vsynth%-h263p:              ENCOPTS = -qscale 2 -flags +aic -umv 1 -aiv 1 -ps 300
 
 FATE_VCODEC_SCALE-$(call ENCDEC, HUFFYUV, AVI) += huffyuv huffyuvbgr24 huffyuvbgra
diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index cd7008dcd0..450416d7b4 100644
--- a/tests/fate/video.mak
+++ b/tests/fate/video.mak
@@ -267,7 +267,7 @@ fate-mjpeg-ticket3229: CMD = framecrc -idct simple -fflags +bitexact -i $(TARGET
 FATE_VIDEO-$(call FRAMECRC, MVI, MOTIONPIXELS, SCALE_FILTER) += fate-motionpixels
 fate-motionpixels: CMD = framecrc -i $(TARGET_SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 -frames:v 111 -vf scale
 
-FATE_VIDEO-$(call FRAMECRC, MPEGTS, MPEG2VIDEO) += fate-mpeg2-field-enc fate-mpeg2-ticket186
+FATE_VIDEO-$(call FRAMECRC, MPEGTS, MPEG2VIDEO, MPEGVIDEO_PARSER) += fate-mpeg2-field-enc fate-mpeg2-ticket186
 fate-mpeg2-field-enc: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -an -frames:v 30
 fate-mpeg2-ticket186: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/t.mpg -an
 
diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak
index ab34e353f7..84eb83e07f 100644
--- a/tests/fate/voice.mak
+++ b/tests/fate/voice.mak
@@ -1,7 +1,7 @@
 FATE_G722-$(call DEMDEC, G722, ADPCM_G722) += fate-g722dec-1
 fate-g722dec-1: CMD = framecrc -i $(TARGET_SAMPLES)/g722/conf-adminmenu-162.g722
 
-FATE_G722-$(call ENCMUX, ADPCM_G722, WAV) += fate-g722-encode
+FATE_G722-$(call TRANSCODE, ADPCM_G722, WAV, PCM_S16LE_DECODER) += fate-g722-encode
 fate-g722-encode: tests/data/asynth-16000-1.wav
 fate-g722-encode: SRC = tests/data/asynth-16000-1.wav
 fate-g722-encode: CMD = enc_dec_pcm wav framemd5 s16le $(SRC) -c:a g722
@@ -51,7 +51,7 @@ fate-g726-encode-5bit: CMD = enc_dec_pcm wav framemd5 s16le $(SRC) -c:a g726 -b:
 $(FATE_G726): tests/data/asynth-8000-1.wav
 $(FATE_G726): SRC = tests/data/asynth-8000-1.wav
 
-FATE_VOICE-$(call ENCMUX, ADPCM_G726, WAV) += $(FATE_G726)
+FATE_VOICE-$(call TRANSCODE, ADPCM_G726, WAV, PCM_S16LE_DECODER) += $(FATE_G726)
 fate-g726: $(FATE_G726)
 
 FATE_GSM-$(call DEMDEC, WAV, GSM) += fate-gsm-ms
diff --git a/tests/fate/xvid.mak b/tests/fate/xvid.mak
index 877b2a100b..68e75b1139 100644
--- a/tests/fate/xvid.mak
+++ b/tests/fate/xvid.mak
@@ -1,7 +1,7 @@
 fate-xvid-custom-matrix: CMD = framemd5 -flags +bitexact -idct simple  -i $(TARGET_SAMPLES)/mpeg4/xvid_vlc_trac7411.h263
 fate-xvid-idct:          CMD = framemd5 -flags +bitexact -cpuflags all -i $(TARGET_SAMPLES)/mpeg4/xvid_vlc_trac7411.h263
 
-FATE_XVID-$(call DEMDEC, M4V, MPEG4) += fate-xvid-custom-matrix fate-xvid-idct
+FATE_XVID-$(call DEMDEC, M4V, MPEG4, MPEG4VIDEO_PARSER) += fate-xvid-custom-matrix fate-xvid-idct
 
 FATE_SAMPLES_AVCONV += $(FATE_XVID-yes)
 
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 18/20] fate/all: add missing file protocol dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (16 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 17/20] fate/all: " Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 19/20] fate/all: add missing crc/framecrc/md5/framemd5/pipe dependencies Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 20/20] libavcodec/tests: fix gitignore hashtable Nicolas Gaullier
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

First, always require file protocol when FATE suite is used.
Then, add missing dependencies while removing duplicates.

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/Makefile              |  1 +
 tests/fate/cbs.mak          |  4 ++--
 tests/fate/cover-art.mak    |  8 ++++----
 tests/fate/demux.mak        |  2 +-
 tests/fate/filter-audio.mak |  4 ++--
 tests/fate/filter-video.mak | 16 ++++++++--------
 tests/fate/image.mak        |  2 +-
 tests/fate/microsoft.mak    |  2 +-
 tests/fate/mpc.mak          |  2 +-
 tests/fate/pcm.mak          |  2 +-
 tests/fate/pixfmt.mak       |  2 +-
 tests/fate/seek.mak         |  8 ++++----
 tests/fate/subtitles.mak    |  2 +-
 tests/fate/vpx.mak          |  2 +-
 tests/fate/wavpack.mak      |  2 +-
 15 files changed, 30 insertions(+), 29 deletions(-)

diff --git a/tests/Makefile b/tests/Makefile
index 7187b744cb..38bcbb5d34 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -267,6 +267,7 @@ FATE_EXTERN-$(CONFIG_FFMPEG)  += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG)
 FATE_EXTERN-$(CONFIG_FFPROBE) += $(FATE_SAMPLES_FFPROBE)
 FATE_SAMPLES_FFMPEG_FFPROBE   += $(FATE_SAMPLES_FFMPEG_FFPROBE-yes)
 FATE_EXTERN-$(call ALLYES, FFMPEG FFPROBE) += $(FATE_SAMPLES_FFMPEG_FFPROBE)
+FATE_EXTERN-yes := $(if $(CONFIG_FILE_PROTOCOL), $(FATE_EXTERN-yes))
 FATE_EXTERN                   += $(FATE_EXTERN-yes) $(FATE_SAMPLES_FASTSTART)
 
 FATE += $(FATE-yes)
diff --git a/tests/fate/cbs.mak b/tests/fate/cbs.mak
index 2b6cf0df73..a4512355bf 100644
--- a/tests/fate/cbs.mak
+++ b/tests/fate/cbs.mak
@@ -99,7 +99,7 @@ FATE_CBS_DISCARD_TYPES = \
 
 $(foreach N,$(FATE_CBS_DISCARD_TYPES),$(eval $(call FATE_CBS_DISCARD_TEST,h264,$(N),h264/interlaced_crop.mp4,h264)))
 
-FATE_CBS_H264-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_PARSER FILTER_UNITS_BSF H264_METADATA_BSF FILE_PROTOCOL) += $(FATE_CBS_h264_DISCARD)
+FATE_CBS_H264-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_PARSER FILTER_UNITS_BSF H264_METADATA_BSF) += $(FATE_CBS_h264_DISCARD)
 
 
 FATE_H264_REDUNDANT_PPS-$(call REMUX, H264, MOV_DEMUXER H264_REDUNDANT_PPS_BSF   \
@@ -170,7 +170,7 @@ FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_h
 
 $(foreach N,$(FATE_CBS_DISCARD_TYPES),$(eval $(call FATE_CBS_DISCARD_TEST,hevc,$(N),hevc-conformance/WPP_A_ericsson_MAIN10_2.bit,hevc)))
 
-FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_MUXER HEVC_PARSER FILTER_UNITS_BSF HEVC_METADATA_BSF FILE_PROTOCOL) += $(FATE_CBS_hevc_DISCARD)
+FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_MUXER HEVC_PARSER FILTER_UNITS_BSF HEVC_METADATA_BSF) += $(FATE_CBS_hevc_DISCARD)
 
 fate-cbs-hevc-metadata-set-color: CMD = md5 -i $(TARGET_SAMPLES)/hevc-conformance/AMP_A_Samsung_4.bit -c:v copy -bsf:v hevc_metadata=colour_primaries=0:transfer_characteristics=0:matrix_coefficients=3 -f hevc
 fate-cbs-hevc-metadata-set-color: CMP = oneline
diff --git a/tests/fate/cover-art.mak b/tests/fate/cover-art.mak
index 7ee9443864..9e93a7e183 100644
--- a/tests/fate/cover-art.mak
+++ b/tests/fate/cover-art.mak
@@ -31,7 +31,7 @@ fate-cover-art-wv: CMD = md5 -i $(TARGET_SAMPLES)/cover_art/luckynight_cover.wv
 fate-cover-art-wv: REF = 45333c983c45af54449dff10af144317
 
 # Tests writing id3v2 tags (some with non-ASCII characters) and apics.
-FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL FLAC_DEMUXER MJPEG_DECODER \
+FATE_COVER_ART_REMUX-$(call ALLYES, FLAC_DEMUXER MJPEG_DECODER \
                                     FLAC_DECODER SCALE_FILTER PNG_ENCODER    \
                                     BMP_ENCODER PCM_S16BE_ENCODER AIFF_MUXER \
                                     AIFF_DEMUXER BMP_DECODER PNG_DECODER     \
@@ -39,7 +39,7 @@ FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL FLAC_DEMUXER MJPEG_DECODER \
                        += fate-cover-art-aiff-id3v2-remux
 fate-cover-art-aiff-id3v2-remux: CMD = transcode flac $(TARGET_SAMPLES)/cover_art/cover_art.flac aiff "-map 0 -map 0:v -map 0:v -map 0:v -c:a pcm_s16be -c:v:0 copy -filter:v:1 scale -c:v:1 png -filter:v:2 scale -c:v:2 bmp -c:v:3 copy -write_id3v2 1 -metadata:g unknown_key=unknown_value -metadata compilation=foo -metadata:s:v:0 title=first -metadata:s:v:1 title=second -metadata:s:v:1 comment=Illustration -metadata:s:v:2 title=third -metadata:s:v:2 comment=Conductor -metadata:s:v:3 title=fourth -metadata:s:v:3 comment=Composer" "-map 0 -c copy -t 0.1" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name"
 
-FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL MP3_DEMUXER MJPEG_DECODER \
+FATE_COVER_ART_REMUX-$(call ALLYES, MP3_DEMUXER MJPEG_DECODER \
                                     SCALE_FILTER PNG_ENCODER BMP_ENCODER    \
                                     MP3_MUXER BMP_DECODER PNG_DECODER       \
                                     FRAMECRC_MUXER PIPE_PROTOCOL)           \
@@ -48,7 +48,7 @@ fate-cover-art-mp3-id3v2-remux: CMD = transcode mp3 $(TARGET_SAMPLES)/exif/embed
 
 # Also covers muxing and demuxing of nonstandard channel layouts into FLAC
 # as well as the unorthodox multi_dim_quant option of the FLAC encoder.
-FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL MOV_DEMUXER OGG_DEMUXER   \
+FATE_COVER_ART_REMUX-$(call ALLYES, MOV_DEMUXER OGG_DEMUXER   \
                                     ALAC_DECODER MJPEG_DECODER SCALE_FILTER \
                                     CHANNELMAP_FILTER ARESAMPLE_FILTER      \
                                     FLAC_ENCODER BMP_ENCODER PNG_ENCODER    \
@@ -57,7 +57,7 @@ FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL MOV_DEMUXER OGG_DEMUXER   \
                        += fate-cover-art-flac-remux
 fate-cover-art-flac-remux: CMD = transcode mov $(TARGET_SAMPLES)/lossless-audio/inside.m4a flac "-map 0 -map 1:v -map 1:v -af channelmap=channel_layout=FL+FC,aresample -c:a flac -multi_dim_quant 1 -c:v:0 copy -metadata:s:v:0 comment=Illustration -metadata:s:v:0 title=OpenMusic  -filter:v:1 scale -c:v:1 png -metadata:s:v:1 title=landscape -c:v:2 copy -filter:v:3 scale -metadata:s:v:2 title=portrait -c:v:3 bmp  -metadata:s:v:3 comment=Conductor -c:v:4 copy -t 0.4" "-map 0 -map 0:a -c:a:0 copy -c:v copy" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name" "-f ogg -i $(TARGET_SAMPLES)/cover_art/ogg_vorbiscomment_cover.opus"
 
-FCA_TEMP-$(call ALLYES, RAWVIDEO_MUXER FILE_PROTOCOL) = $(FATE_COVER_ART-yes)
+FCA_TEMP-$(call ALLYES, RAWVIDEO_MUXER) = $(FATE_COVER_ART-yes)
 FATE_COVER_ART = $(FCA_TEMP-yes)
 $(FATE_COVER_ART): CMP = oneline
 
diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
index 0f87abadad..52d61afb9f 100644
--- a/tests/fate/demux.mak
+++ b/tests/fate/demux.mak
@@ -76,7 +76,7 @@ fate-mkv-1242: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -c copy -f
 FATE_SAMPLES_DEMUX-$(CONFIG_MLV_DEMUXER) += fate-mlv-demux
 fate-mlv-demux: CMD = crc -i $(TARGET_SAMPLES)/mlv/M19-0333-cut.MLV -c copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, MOV_DEMUXER FRAMECRC_MUXER FILE_PROTOCOL PIPE_PROTOCOL) += fate-mov-mp3-demux
+FATE_SAMPLES_DEMUX-$(call ALLYES, MOV_DEMUXER FRAMECRC_MUXER PIPE_PROTOCOL) += fate-mov-mp3-demux
 fate-mov-mp3-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mpegaudio/packed_maindata.mp3.mp4 -c copy
 
 FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, OPUS, MPEGTS, OPUS) += fate-ts-opus-demux
diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 22b544e3ef..6d35db3c0c 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -319,7 +319,7 @@ fate-filter-join: CMD = md5 -auto_conversion_filters -i $(SRC1) -i $(SRC2) -filt
 fate-filter-join: CMP = oneline
 fate-filter-join: REF = 88b0d24a64717ba8635b29e8dac6ecd8
 
-FATE_AFILTER-$(call ALLYES, WAV_DEMUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER PCM_S16LE_MUXER APERMS_FILTER VOLUME_FILTER) += fate-filter-volume
+FATE_AFILTER-$(call FILTERDEMDECENCMUX, VOLUME, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE, APERMS_FILTER) += fate-filter-volume
 fate-filter-volume: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-filter-volume: tests/data/asynth-44100-2.wav
 fate-filter-volume: CMD = md5 -i $(SRC) -af aperms=random,volume=precision=fixed:volume=0.5 -f s16le
@@ -423,7 +423,7 @@ FATE_AFILTER-$(call ALLYES, SINE_FILTER ALOOP_FILTER ASETNSAMPLES_FILTER PCM_S16
 
 fate-filter-crazychannels: tests/data/filtergraphs/crazychannels
 fate-filter-crazychannels: CMD = framecrc -auto_conversion_filters -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/crazychannels
-FATE_AFILTER-$(call FILTERFRAMECRC, ARESAMPLE SINE JOIN ATRIM CHANNELMAP CHANNELSPLIT) += fate-filter-crazychannels
+FATE_AFILTER-$(call FILTERFRAMECRC, ARESAMPLE SINE JOIN ATRIM CHANNELMAP CHANNELSPLIT, FILE_PROTOCOL) += fate-filter-crazychannels
 
 FATE_AFILTER-yes += fate-filter-formats
 fate-filter-formats: libavfilter/tests/formats$(EXESUF)
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 86f4511478..ce087cf572 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -449,7 +449,7 @@ FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, FPS SCALE, MOV, QTRLE) += fate-filter-f
 fate-filter-fps-cfr: CMD = framecrc -auto_conversion_filters -i $(TARGET_SAMPLES)/qtrle/apple-animation-variable-fps-bug.mov -r 30 -fps_mode cfr -pix_fmt yuv420p
 fate-filter-fps:     CMD = framecrc -auto_conversion_filters -i $(TARGET_SAMPLES)/qtrle/apple-animation-variable-fps-bug.mov -vf fps=30 -pix_fmt yuv420p
 
-FATE_FILTER_SAMPLES-$(call FILTERFRAMECRC, TESTSRC2 FSYNC, FILE_PROTOCOL) += fate-filter-fsync-up fate-filter-fsync-down
+FATE_FILTER_SAMPLES-$(call FILTERFRAMECRC, TESTSRC2 FSYNC) += fate-filter-fsync-up fate-filter-fsync-down
 fate-filter-fsync-up: tests/data/maps/fsync-up
 fate-filter-fsync-up: CMD = framecrc -lavfi testsrc2=r=25:d=1,fsync=f=tests/data/maps/fsync-up
 fate-filter-fsync-down: tests/data/maps/fsync-down
@@ -703,19 +703,19 @@ FATE_FFMPEG += $(FATE_FILTER_VSYNTH-yes)
 #
 FILTER_METADATA_COMMAND = ffprobe$(PROGSSUF)$(EXESUF) -of compact=p=0 -show_entries frame=pts:frame_tags -bitexact -f lavfi
 
-SCENEDETECT_DEPS = LAVFI_INDEV FILE_PROTOCOL MOVIE_FILTER SELECT_FILTER  \
+SCENEDETECT_DEPS = LAVFI_INDEV MOVIE_FILTER SELECT_FILTER  \
                    SCALE_FILTER MOV_DEMUXER SVQ3_DECODER ZLIB
 FATE_METADATA_FILTER-$(call ALLYES, $(SCENEDETECT_DEPS)) += fate-filter-metadata-scenedetect
 fate-filter-metadata-scenedetect: SRC = $(TARGET_SAMPLES)/svq3/Vertical400kbit.sorenson3.mov
 fate-filter-metadata-scenedetect: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;movie='$(SRC)',select=gt(scene\,.25)"
 
-SCDET_DEPS = LAVFI_INDEV FILE_PROTOCOL MOVIE_FILTER SCDET_FILTER SCALE_FILTER \
+SCDET_DEPS = LAVFI_INDEV MOVIE_FILTER SCDET_FILTER SCALE_FILTER \
                    MOV_DEMUXER SVQ3_DECODER ZLIB
 FATE_METADATA_FILTER-$(call ALLYES, $(SCDET_DEPS)) += fate-filter-metadata-scdet
 fate-filter-metadata-scdet: SRC = $(TARGET_SAMPLES)/svq3/Vertical400kbit.sorenson3.mov
 fate-filter-metadata-scdet: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;movie='$(SRC)',scdet=s=1"
 
-CROPDETECT_DEPS = LAVFI_INDEV FILE_PROTOCOL MOVIE_FILTER MOVIE_FILTER MESTIMATE_FILTER CROPDETECT_FILTER \
+CROPDETECT_DEPS = LAVFI_INDEV MOVIE_FILTER MOVIE_FILTER MESTIMATE_FILTER CROPDETECT_FILTER \
                   SCALE_FILTER MOV_DEMUXER H264_DECODER
 FATE_METADATA_FILTER-$(call ALLYES, $(CROPDETECT_DEPS)) += fate-filter-metadata-cropdetect
 fate-filter-metadata-cropdetect: SRC = $(TARGET_SAMPLES)/filter/cropdetect.mp4
@@ -736,17 +736,17 @@ FATE_METADATA_FILTER-$(call ALLYES, $(SIGNALSTATS_DEPS)) += fate-filter-metadata
 fate-filter-metadata-signalstats-yuv420p: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;color=white:duration=1:r=1,signalstats"
 fate-filter-metadata-signalstats-yuv420p10: CMD = run $(FILTER_METADATA_COMMAND) "sws_flags=+accurate_rnd+bitexact;color=white:duration=1:r=1,format=yuv420p10le,signalstats"
 
-SILENCEDETECT_DEPS = LAVFI_INDEV FILE_PROTOCOL AMOVIE_FILTER TTA_DEMUXER TTA_DECODER SILENCEDETECT_FILTER
+SILENCEDETECT_DEPS = LAVFI_INDEV AMOVIE_FILTER TTA_DEMUXER TTA_DECODER SILENCEDETECT_FILTER
 FATE_METADATA_FILTER-$(call ALLYES, $(SILENCEDETECT_DEPS)) += fate-filter-metadata-silencedetect
 fate-filter-metadata-silencedetect: SRC = $(TARGET_SAMPLES)/lossless-audio/inside.tta
 fate-filter-metadata-silencedetect: CMD = run $(FILTER_METADATA_COMMAND) "amovie='$(SRC)',silencedetect=n=-33.5dB:d=0.2"
 
-EBUR128_METADATA_DEPS = LAVFI_INDEV FILE_PROTOCOL AMOVIE_FILTER FLAC_DEMUXER FLAC_DECODER ARESAMPLE_FILTER EBUR128_FILTER
+EBUR128_METADATA_DEPS = LAVFI_INDEV AMOVIE_FILTER FLAC_DEMUXER FLAC_DECODER ARESAMPLE_FILTER EBUR128_FILTER
 FATE_METADATA_FILTER-$(call ALLYES, $(EBUR128_METADATA_DEPS)) += fate-filter-metadata-ebur128
 fate-filter-metadata-ebur128: SRC = $(TARGET_SAMPLES)/filter/seq-3341-7_seq-3342-5-24bit.flac
 fate-filter-metadata-ebur128: CMD = run $(FILTER_METADATA_COMMAND) "amovie='$(SRC)',ebur128=metadata=1"
 
-READVITC_METADATA_DEPS = FILE_PROTOCOL LAVFI_INDEV MOVIE_FILTER \
+READVITC_METADATA_DEPS = LAVFI_INDEV MOVIE_FILTER \
                          AVI_DEMUXER FFVHUFF_DECODER READVITC_FILTER
 FATE_METADATA_FILTER-$(call ALLYES, $(READVITC_METADATA_DEPS)) += fate-filter-metadata-readvitc-def
 fate-filter-metadata-readvitc-def: SRC = $(TARGET_SAMPLES)/filter/sample-vitc.avi
@@ -760,7 +760,7 @@ AVF_PHASE_METER_DEPS = FFPROBE LAVFI_INDEV AMOVIE_FILTER FLAC_DEMUXER FLAC_DECOD
 FATE_METADATA_FILTER-$(call ALLYES, $(AVF_PHASE_METER_DEPS)) += fate-filter-metadata-avf-aphase-meter-mono
 fate-filter-metadata-avf-aphase-meter-mono: CMD = run $(FILTER_METADATA_COMMAND) sine="frequency=1000:sample_rate=48000:duration=1,aphasemeter=video=0"
 
-FATE_METADATA_FILTER-$(call ALLYES, $(AVF_PHASE_METER_DEPS) FILE_PROTOCOL) += fate-filter-metadata-avf-aphase-meter-out-of-phase
+FATE_METADATA_FILTER-$(call ALLYES, $(AVF_PHASE_METER_DEPS)) += fate-filter-metadata-avf-aphase-meter-out-of-phase
 fate-filter-metadata-avf-aphase-meter-out-of-phase: SRC = $(TARGET_SAMPLES)/filter/out-of-phase-1000hz.flac
 fate-filter-metadata-avf-aphase-meter-out-of-phase: CMD = run $(FILTER_METADATA_COMMAND) "amovie='$(SRC)',aphasemeter=video=0"
 
diff --git a/tests/fate/image.mak b/tests/fate/image.mak
index e9fe8ea3c1..3cedf9e877 100644
--- a/tests/fate/image.mak
+++ b/tests/fate/image.mak
@@ -589,7 +589,7 @@ FATE_XBM-$(call DEMDEC, IMAGE2, XBM) += $(FATE_XBM)
 FATE_IMAGE_FRAMECRC += $(FATE_XBM-yes)
 fate-xbm: $(FATE_XBM-yes)
 
-FATE_IMAGE-$(call ALLYES, FILE_PROTOCOL FRAMECRC_MUXER PIPE_PROTOCOL) += $(FATE_IMAGE_FRAMECRC) $(FATE_IMAGE_FRAMECRC-yes)
+FATE_IMAGE-$(call ALLYES, FRAMECRC_MUXER PIPE_PROTOCOL) += $(FATE_IMAGE_FRAMECRC) $(FATE_IMAGE_FRAMECRC-yes)
 FATE_IMAGE += $(FATE_IMAGE-yes)
 FATE_IMAGE_PROBE += $(FATE_IMAGE_PROBE-yes)
 FATE_IMAGE_TRANSCODE += $(FATE_IMAGE_TRANSCODE-yes)
diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak
index e98ab30aae..15ca874c7f 100644
--- a/tests/fate/microsoft.mak
+++ b/tests/fate/microsoft.mak
@@ -80,7 +80,7 @@ fate-vc1-ism: CMD = framecrc -i $(TARGET_SAMPLES)/isom/vc1-wmapro.ism -an
 FATE_MICROSOFT += $(FATE_VC1-yes)
 fate-vc1: $(FATE_VC1-yes)
 
-FATE_MICROSOFT-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL ASF_DEMUXER FRAMECRC_MUXER) += fate-asf-repldata
+FATE_MICROSOFT-$(call ALLYES, PIPE_PROTOCOL ASF_DEMUXER FRAMECRC_MUXER) += fate-asf-repldata
 fate-asf-repldata: CMD = framecrc -i $(TARGET_SAMPLES)/asf/bug821-2.asf -c copy
 
 FATE_MICROSOFT += $(FATE_MICROSOFT-yes)
diff --git a/tests/fate/mpc.mak b/tests/fate/mpc.mak
index b737da449b..1a034da197 100644
--- a/tests/fate/mpc.mak
+++ b/tests/fate/mpc.mak
@@ -9,7 +9,7 @@ fate-musepack7: CMD = pcm -i $(TARGET_SAMPLES)/musepack/inside-mp7.mpc
 fate-musepack7: CMP = oneoff
 fate-musepack7: REF = $(SAMPLES)/musepack/inside-mp7.pcm
 
-FATE_MPC-$(call ALLYES, FILE_PROTOCOL MPC8_DEMUXER MPC8_DECODER  \
+FATE_MPC-$(call ALLYES, MPC8_DEMUXER MPC8_DECODER  \
                         ARESAMPLE_FILTER PCM_S16LE_ENCODER  \
                         FRAMECRC_MUXER PIPE_PROTOCOL) += fate-musepack8
 fate-musepack8: CMD = pcm -i $(TARGET_SAMPLES)/musepack/inside-mp8.mpc -ss 8.4 -af aresample
diff --git a/tests/fate/pcm.mak b/tests/fate/pcm.mak
index 75636118b2..fe432b0852 100644
--- a/tests/fate/pcm.mak
+++ b/tests/fate/pcm.mak
@@ -22,7 +22,7 @@ fate-pcm_u8-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-8-raw.
 FATE_SAMPLES_PCM-$(call DEMDEC, W64, PCM_S16LE) += fate-w64
 fate-w64: CMD = crc -i $(TARGET_SAMPLES)/w64/w64-pcm16.w64
 
-FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD, WAV_DEMUXER) += fate-dcinema-encode
+FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD, WAV_DEMUXER FILE_PROTOCOL) += fate-dcinema-encode
 fate-dcinema-encode: tests/data/asynth-96000-6.wav
 fate-dcinema-encode: SRC = tests/data/asynth-96000-6.wav
 fate-dcinema-encode: CMD = enc_dec_pcm daud framemd5 s16le $(SRC) -c:a pcm_s24daud -frames:a 20
diff --git a/tests/fate/pixfmt.mak b/tests/fate/pixfmt.mak
index 6c518a5000..2686929d76 100644
--- a/tests/fate/pixfmt.mak
+++ b/tests/fate/pixfmt.mak
@@ -33,7 +33,7 @@ $(FATE_PIXFMT): CMD = pixfmt_conversion
 $(FATE_PIXFMT): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
 $(FATE_PIXFMT): $(VREF)
 
-FATE_PIXFMT := $(if $(call DEMDEC, IMAGE2, PGMYUV RAWVIDEO, RAWVIDEO_DEMUXER RAWVIDEO_MUXER RAWVIDEO_ENCODER FILE_PROTOCOL), $(FATE_PIXFMT))
+FATE_PIXFMT := $(if $(call DEMDEC, IMAGE2, PGMYUV RAWVIDEO, RAWVIDEO_DEMUXER RAWVIDEO_MUXER RAWVIDEO_ENCODER), $(FATE_PIXFMT))
 PIXFMT_16_LIST =        gray16le        \
                         gray16be        \
                         yuv420p16le     \
diff --git a/tests/fate/seek.mak b/tests/fate/seek.mak
index 8751ffa86d..aa1f856f7b 100644
--- a/tests/fate/seek.mak
+++ b/tests/fate/seek.mak
@@ -183,10 +183,10 @@ FATE_SEEK += $(FATE_SEEK_LAVF_IMAGE2PIPE)
 FATE_SEEK_EXTRA-$(CONFIG_MP3_DEMUXER)   += fate-seek-extra-mp3
 FATE_SEEK_EXTRA-$(call ALLYES, CACHE_PROTOCOL PIPE_PROTOCOL MP3_DEMUXER) += fate-seek-cache-pipe
 FATE_SEEK_EXTRA-$(CONFIG_MATROSKA_DEMUXER) += fate-seek-mkv-codec-delay
-FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER FILE_PROTOCOL) += fate-seek-extra-mp4
-FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER FILE_PROTOCOL) += fate-seek-empty-edit-mp4
-FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER FILE_PROTOCOL) += fate-seek-test-iibbibb-mp4
-FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER FILE_PROTOCOL) += fate-seek-test-iibbibb-neg-ctts-mp4
+FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER) += fate-seek-extra-mp4
+FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER) += fate-seek-empty-edit-mp4
+FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER) += fate-seek-test-iibbibb-mp4
+FATE_SEEK_EXTRA-$(call ALLYES, MOV_DEMUXER) += fate-seek-test-iibbibb-neg-ctts-mp4
 
 fate-seek-extra-mp3:  CMD = run libavformat/tests/seek$(EXESUF) $(TARGET_SAMPLES)/gapless/gapless.mp3 -fastseek 1
 fate-seek-extra-mp4:  CMD = run libavformat/tests/seek$(EXESUF) $(TARGET_SAMPLES)/mov/buck480p30_na.mp4 -duration 180 -frames 4
diff --git a/tests/fate/subtitles.mak b/tests/fate/subtitles.mak
index 06c8ecdc92..fa0c09fc9c 100644
--- a/tests/fate/subtitles.mak
+++ b/tests/fate/subtitles.mak
@@ -127,7 +127,7 @@ fate-sub-rcwt: REF = d86f179094a5752d68aa97d82cf887b0
 FATE_SUBTITLES-$(call ALLYES, MPEGTS_DEMUXER DVBSUB_DECODER DVBSUB_ENCODER) += fate-sub-dvb
 fate-sub-dvb: CMD = framecrc -i $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts -map s:0 -c dvbsub
 
-FATE_SUBTITLES-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL SRT_DEMUXER SUBRIP_DECODER TTML_ENCODER TTML_MUXER) += fate-sub-ttmlenc
+FATE_SUBTITLES-$(call ALLYES, PIPE_PROTOCOL SRT_DEMUXER SUBRIP_DECODER TTML_ENCODER TTML_MUXER) += fate-sub-ttmlenc
 fate-sub-ttmlenc: CMD = fmtstdout ttml -i $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt
 
 FATE_SUBTITLES-$(call ENCMUX, ASS, ASS) += $(FATE_SUBTITLES_ASS-yes)
diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index b8750190b3..2c03f6b598 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -145,7 +145,7 @@ fate-vp9-encparams: CMD = venc_data $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-se
 FATE_SAMPLES_DUMP_DATA-$(call DEMDEC, MATROSKA, VP9) += fate-vp9-encparams
 
 FATE_VP9-$(call ALLYES, MATROSKA_DEMUXER VP9_PARSER VP9_SUPERFRAME_SPLIT_BSF \
-                        VP9_SUPERFRAME_BSF FILE_PROTOCOL FRAMECRC_MUXER) += fate-vp9-superframe-bsf
+                        VP9_SUPERFRAME_BSF FRAMECRC_MUXER) += fate-vp9-superframe-bsf
 fate-vp9-superframe-bsf: CMD = framecrc -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-segmentation-sf-akiyo.webm -c:v copy -bsf:v vp9_superframe_split,vp9_superframe
 
 FATE_VP9-$(call DEMDEC, MATROSKA, VP9) += fate-vp9-encparams
diff --git a/tests/fate/wavpack.mak b/tests/fate/wavpack.mak
index 41e1b0afad..d4eb345383 100644
--- a/tests/fate/wavpack.mak
+++ b/tests/fate/wavpack.mak
@@ -81,7 +81,7 @@ FATE_WAVPACK_S16 += fate-wavpack-cuesheet
 fate-wavpack-cuesheet: CMD = md5pipe -i $(TARGET_SAMPLES)/wavpack/special/cue_sheet.wv -f s16le -af aresample
 
 # The sample file has APE tags containing a cuesheet.
-FATE_WAVPACK_FFPROBE-$(call ALLYES, WV_DEMUXER FILE_PROTOCOL) += fate-wavpack-cuesheet-tags
+FATE_WAVPACK_FFPROBE-$(call ALLYES, WV_DEMUXER) += fate-wavpack-cuesheet-tags
 fate-wavpack-cuesheet-tags: CMD = probetags $(TARGET_SAMPLES)/wavpack/special/cue_sheet.wv
 
 FATE_WAVPACK_S16 += fate-wavpack-falsestereo
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 19/20] fate/all: add missing crc/framecrc/md5/framemd5/pipe dependencies
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (17 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 18/20] fate/all: add missing file protocol dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 20/20] libavcodec/tests: fix gitignore hashtable Nicolas Gaullier
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

When CMD is crc/framecrc, always use the macros CRC/FRAMECRC, even if it
includes unnecessary requirements for rawvideo/pcm_s16le encoders (as
actually noticed in a comment of the Makefile).

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 tests/Makefile                |  3 ++
 tests/fate/aac.mak            |  2 +-
 tests/fate/ac3.mak            |  4 +-
 tests/fate/acodec.mak         |  4 +-
 tests/fate/adpcm.mak          | 38 +++++++--------
 tests/fate/alac.mak           |  2 +-
 tests/fate/als.mak            |  3 +-
 tests/fate/amrnb.mak          |  2 +-
 tests/fate/amrwb.mak          |  2 +-
 tests/fate/apng.mak           |  2 +-
 tests/fate/atrac.mak          |  6 +--
 tests/fate/audio.mak          | 20 ++++----
 tests/fate/caf.mak            |  2 +-
 tests/fate/demux.mak          | 92 +++++++++++++++++------------------
 tests/fate/dpcm.mak           |  4 +-
 tests/fate/ffmpeg.mak         |  6 +--
 tests/fate/fifo-muxer.mak     |  2 +-
 tests/fate/filter-audio.mak   | 16 +++---
 tests/fate/filter-video.mak   |  4 +-
 tests/fate/flac.mak           |  2 +-
 tests/fate/gapless.mak        |  2 +-
 tests/fate/h264.mak           |  8 +--
 tests/fate/hlsenc.mak         |  2 +
 tests/fate/image.mak          |  4 +-
 tests/fate/imf.mak            |  3 +-
 tests/fate/indeo.mak          | 18 +++----
 tests/fate/lavf-container.mak | 30 ++++++------
 tests/fate/lavf-video.mak     |  2 +-
 tests/fate/libswresample.mak  |  2 +-
 tests/fate/lossless-audio.mak |  8 +--
 tests/fate/matroska.mak       | 24 +++++----
 tests/fate/microsoft.mak      |  2 +-
 tests/fate/monkeysaudio.mak   |  3 +-
 tests/fate/mov.mak            |  6 +--
 tests/fate/mp3.mak            |  2 +-
 tests/fate/mpc.mak            |  6 +--
 tests/fate/mpegps.mak         |  2 +-
 tests/fate/oma.mak            |  2 +-
 tests/fate/pcm.mak            |  9 ++--
 tests/fate/qoa.mak            |  6 +--
 tests/fate/real.mak           | 16 +++---
 tests/fate/segment.mak        |  6 +--
 tests/fate/subtitles.mak      |  3 +-
 tests/fate/video.mak          |  2 +-
 tests/fate/voice.mak          | 16 +++---
 tests/fate/vpx.mak            |  2 +-
 tests/fate/vqf.mak            |  4 +-
 tests/fate/wma.mak            | 16 +++---
 tests/fate/xvid.mak           |  2 +-
 49 files changed, 217 insertions(+), 207 deletions(-)

diff --git a/tests/Makefile b/tests/Makefile
index 38bcbb5d34..3f4dbaabfd 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -106,6 +106,9 @@ FRAMEMD5 = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3)              \
 FRAMECRC = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3)              \
                           PCM_S16LE_ENCODER RAWVIDEO_ENCODER FRAMECRC_MUXER   \
                           PIPE_PROTOCOL FILE_PROTOCOL)
+CRC = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER) $(3)              \
+                          PCM_S16LE_ENCODER RAWVIDEO_ENCODER CRC_MUXER   \
+                          PIPE_PROTOCOL FILE_PROTOCOL)
 
 # Variant of DEMDEC for use with the "pcm" command.
 PCM = $(call ALLYES, $(1:%=%_DEMUXER) $(2:%=%_DECODER)  $(3) FILE_PROTOCOL    \
diff --git a/tests/fate/aac.mak b/tests/fate/aac.mak
index 48a4410d6c..be3499911b 100644
--- a/tests/fate/aac.mak
+++ b/tests/fate/aac.mak
@@ -253,7 +253,7 @@ $(FATE_AAC_ALL): FUZZ = 2
 
 FATE_AAC_ENCODE-$(call TRANSCODE, AAC, ADTS AAC, WAV_MUXER WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += $(FATE_AAC_ENCODE)
 
-FATE_AAC_BSF-$(call DEMDEC, AAC MATROSKA, AAC, AAC_PARSER AAC_ADTSTOASC_BSF MATROSKA_MUXER) += fate-aac-autobsf-adtstoasc
+FATE_AAC_BSF-$(call FRAMECRC, AAC MATROSKA, AAC, AAC_PARSER AAC_ADTSTOASC_BSF MATROSKA_MUXER) += fate-aac-autobsf-adtstoasc
 
 FATE_SAMPLES_FFMPEG += $(FATE_AAC_ALL) $(FATE_AAC_ENCODE-yes) $(FATE_AAC_BSF-yes)
 
diff --git a/tests/fate/ac3.mak b/tests/fate/ac3.mak
index 30f8b98ff1..9f655c3ff4 100644
--- a/tests/fate/ac3.mak
+++ b/tests/fate/ac3.mak
@@ -65,8 +65,8 @@ fate-eac3-5: REF = $(SAMPLES)/eac3/the_great_wall_7.1.pcm
 
 $(FATE_AC3) $(FATE_EAC3): CMP = oneoff
 
-FATE_AC3-$(call  DEMDEC, AC3,  AC3 AC3_FIXED, PCM_S16LE_MUXER ARESAMPLE_FILTER)  += $(FATE_AC3)
-FATE_EAC3-$(call DEMDEC, EAC3, EAC3,          PCM_S16LE_MUXER ARESAMPLE_FILTER) += $(FATE_EAC3)
+FATE_AC3-$(call  PCM, AC3,  AC3 AC3_FIXED, PCM_S16LE_MUXER ARESAMPLE_FILTER)  += $(FATE_AC3)
+FATE_EAC3-$(call PCM, EAC3, EAC3,          PCM_S16LE_MUXER ARESAMPLE_FILTER) += $(FATE_EAC3)
 
 FATE_AC3-$(call ENCDEC, AC3, AC3, WAV_MUXER WAV_DEMUXER ARESAMPLE_FILTER PCM_S16LE_ENCODER PIPE_PROTOCOL) += fate-ac3-encode
 fate-ac3-encode: CMD = enc_dec_pcm ac3 wav s16le $(subst $(SAMPLES),$(TARGET_SAMPLES),$(REF)) -c:a ac3 -b:a 128k
diff --git a/tests/fate/acodec.mak b/tests/fate/acodec.mak
index 7b09e3bd63..54884371ac 100644
--- a/tests/fate/acodec.mak
+++ b/tests/fate/acodec.mak
@@ -121,7 +121,7 @@ fate-acodec-dca: CMD = md5 -i $(TARGET_PATH)/$(SRC) -c:a dca -strict -2 -f dts -
 fate-acodec-dca: CMP = oneline
 fate-acodec-dca: REF = 2aa580ac67820fce4f581b96ebb34acc
 
-FATE_ACODEC-$(call ENCDEC, DCA, WAV, ARESAMPLE_FILTER) += fate-acodec-dca2
+FATE_ACODEC-$(call ENCDEC, DCA, WAV, ARESAMPLE_FILTER PIPE_PROTOCOL) += fate-acodec-dca2
 fate-acodec-dca2: CMD = enc_dec_pcm dts wav s16le $(SRC) -c:a dca -strict -2 -flags +bitexact -af aresample
 fate-acodec-dca2: REF = $(SRC)
 fate-acodec-dca2: CMP = stddev
@@ -144,7 +144,7 @@ fate-acodec-g723_1: CODEC = g723_1
 fate-acodec-g723_1: ENCOPTS = -b:a 6.3k
 fate-acodec-g723_1: CMP_SHIFT = 8
 
-FATE_ACODEC-$(call ENCDEC, RA_144, WAV) += fate-acodec-ra144
+FATE_ACODEC-$(call ENCDEC, RA_144, WAV, PIPE_PROTOCOL) += fate-acodec-ra144
 fate-acodec-ra144: tests/data/asynth-8000-1.wav
 fate-acodec-ra144: SRC = tests/data/asynth-8000-1.wav
 fate-acodec-ra144: CMD = enc_dec_pcm rm wav s16le $(SRC) -c:a real_144
diff --git a/tests/fate/adpcm.mak b/tests/fate/adpcm.mak
index 7265211f09..70e59191aa 100644
--- a/tests/fate/adpcm.mak
+++ b/tests/fate/adpcm.mak
@@ -1,7 +1,7 @@
-FATE_ADPCM-$(call DEMDEC, FOURXM, ADPCM_4XM, ARESAMPLE_FILTER) += fate-adpcm-4xm
+FATE_ADPCM-$(call FRAMECRC, FOURXM, ADPCM_4XM, ARESAMPLE_FILTER) += fate-adpcm-4xm
 fate-adpcm-4xm: CMD = framecrc -i $(TARGET_SAMPLES)/4xm/dracula.4xm -vn -map 0:6 -af aresample
 
-FATE_ADPCM-$(call DEMDEC, AST, ADPCM_AFC, ARESAMPLE_FILTER) += fate-adpcm-afc
+FATE_ADPCM-$(call FRAMECRC, AST, ADPCM_AFC, ARESAMPLE_FILTER) += fate-adpcm-afc
 fate-adpcm-afc: CMD = framecrc -i $(TARGET_SAMPLES)/ast/demo11_02_partial.ast -af aresample
 
 FATE_ADPCM-$(call DEMDEC, WAV, ADPCM_CT) += fate-adpcm-creative
@@ -16,28 +16,28 @@ fate-adpcm-creative-8-2.6bit: CMD = md5 -i $(TARGET_SAMPLES)/creative/BBC_3BIT.V
 FATE_ADPCM-$(call DEMDEC, VOC, ADPCM_SBPRO_4) += fate-adpcm-creative-8-4bit
 fate-adpcm-creative-8-4bit: CMD = md5 -i $(TARGET_SAMPLES)/creative/BBC_4BIT.VOC -f s16le
 
-FATE_ADPCM-$(call DEMDEC, ADP, ADPCM_DTK, ARESAMPLE_FILTER) += fate-adpcm-dtk
+FATE_ADPCM-$(call FRAMECRC, ADP, ADPCM_DTK, ARESAMPLE_FILTER) += fate-adpcm-dtk
 fate-adpcm-dtk: CMD = framecrc -i $(TARGET_SAMPLES)/adp/shakespr_partial.adp -f s16le -af aresample
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA) += fate-adpcm-ea-1
+FATE_ADPCM-$(call FRAMECRC, EA, ADPCM_EA) += fate-adpcm-ea-1
 fate-adpcm-ea-1: CMD = framecrc -i $(TARGET_SAMPLES)/ea-wve/networkBackbone-partial.wve -frames:a 26 -vn
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA) += fate-adpcm-ea-2
+FATE_ADPCM-$(call FRAMECRC, EA, ADPCM_EA) += fate-adpcm-ea-2
 fate-adpcm-ea-2: CMD = framecrc -i $(TARGET_SAMPLES)/ea-dct/NFS2Esprit-partial.dct -vn
 
-FATE_ADPCM-$(call DEMDEC, XA, ADPCM_EA_MAXIS_XA) += fate-adpcm-ea-maxis-xa
+FATE_ADPCM-$(call FRAMECRC, XA, ADPCM_EA_MAXIS_XA) += fate-adpcm-ea-maxis-xa
 fate-adpcm-ea-maxis-xa: CMD = framecrc -i $(TARGET_SAMPLES)/maxis-xa/SC2KBUG.XA -frames:a 30
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R1, ARESAMPLE_FILTER) += fate-adpcm-ea-r1
+FATE_ADPCM-$(call FRAMECRC, EA, ADPCM_EA_R1, ARESAMPLE_FILTER) += fate-adpcm-ea-r1
 fate-adpcm-ea-r1: CMD = framecrc -i $(TARGET_SAMPLES)/ea-mad/NFS6LogoE.mad -vn -af aresample
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R2, ARESAMPLE_FILTER) += fate-adpcm-ea-r2
+FATE_ADPCM-$(call CRC, EA, ADPCM_EA_R2, ARESAMPLE_FILTER) += fate-adpcm-ea-r2
 fate-adpcm-ea-r2: CMD = crc -i $(TARGET_SAMPLES)/ea-mpc/THX_logo.mpc -vn -af aresample
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R3, ARESAMPLE_FILTER) += fate-adpcm-ea-r3
+FATE_ADPCM-$(call CRC, EA, ADPCM_EA_R3, ARESAMPLE_FILTER) += fate-adpcm-ea-r3
 fate-adpcm-ea-r3: CMD = crc -i $(TARGET_SAMPLES)/ea-vp6/THX_logo.vp6 -vn -af aresample
 
-FATE_ADPCM-$(call DEMDEC, AVI, ADPCM_IMA_AMV) += fate-adpcm-ima-amv
+FATE_ADPCM-$(call FRAMECRC, AVI, ADPCM_IMA_AMV) += fate-adpcm-ima-amv
 fate-adpcm-ima-amv: CMD = framecrc -i $(TARGET_SAMPLES)/amv/MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv -t 10 -vn
 
 FATE_ADPCM-$(call DEMDEC, APC, ADPCM_IMA_APC) += fate-adpcm-ima-apc
@@ -49,10 +49,10 @@ fate-adpcm-ima-dk3: CMD = md5 -i $(TARGET_SAMPLES)/duck/sop-audio-only.avi -f s1
 FATE_ADPCM-$(call DEMDEC, AVI, ADPCM_IMA_DK4) += fate-adpcm-ima-dk4
 fate-adpcm-ima-dk4: CMD = md5 -i $(TARGET_SAMPLES)/duck/salsa-audio-only.avi -f s16le
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_IMA_EA_EACS) += fate-adpcm-ima-ea-eacs
+FATE_ADPCM-$(call FRAMECRC, EA, ADPCM_IMA_EA_EACS) += fate-adpcm-ima-ea-eacs
 fate-adpcm-ima-ea-eacs: CMD = framecrc -i $(TARGET_SAMPLES)/ea-tgv/INTRO8K-partial.TGV -vn
 
-FATE_ADPCM-$(call DEMDEC, EA, ADPCM_IMA_EA_SEAD) += fate-adpcm-ima-ea-sead
+FATE_ADPCM-$(call FRAMECRC, EA, ADPCM_IMA_EA_SEAD) += fate-adpcm-ima-ea-sead
 fate-adpcm-ima-ea-sead: CMD = framecrc -i $(TARGET_SAMPLES)/ea-tgv/INTEL_S.TGV -vn
 
 FATE_ADPCM-$(call DEMDEC, ISS, ADPCM_IMA_ISS) += fate-adpcm-ima-iss
@@ -64,31 +64,31 @@ fate-adpcm-ima-oki: CMD = md5 -i $(TARGET_SAMPLES)/oki/test.wav -f s16le
 FATE_ADPCM-$(call DEMDEC, RSD, ADPCM_IMA_RAD) += fate-adpcm-ima-rad
 fate-adpcm-ima-rad: CMD = md5 -i $(TARGET_SAMPLES)/rsd/hit_run_partial.rsd -f s16le
 
-FATE_ADPCM-$(call DEMDEC, SMJPEG, ADPCM_IMA_SMJPEG) += fate-adpcm-ima-smjpeg
+FATE_ADPCM-$(call FRAMECRC, SMJPEG, ADPCM_IMA_SMJPEG) += fate-adpcm-ima-smjpeg
 fate-adpcm-ima-smjpeg: CMD = framecrc -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vn
 
 FATE_ADPCM-$(call DEMDEC, MOV, ADPCM_IMA_WAV, ARESAMPLE_FILTER) += fate-adpcm-ima_wav-stereo
 fate-adpcm-ima_wav-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-L-ms11.mov -f s16le -af aresample
 
-FATE_ADPCM-$(call DEMDEC, WSVQA, ADPCM_IMA_WS) += fate-adpcm-ima-ws
+FATE_ADPCM-$(call FRAMECRC, WSVQA, ADPCM_IMA_WS) += fate-adpcm-ima-ws
 fate-adpcm-ima-ws: CMD = framecrc -i $(TARGET_SAMPLES)/vqa/cc-demo1-partial.vqa -vn
 
-FATE_ADPCM-$(call DEMDEC, WSVQA, ADPCM_IMA_WS, ARESAMPLE_FILTER) += fate-adpcm-ima-ws-vqa3
+FATE_ADPCM-$(call FRAMECRC, WSVQA, ADPCM_IMA_WS, ARESAMPLE_FILTER) += fate-adpcm-ima-ws-vqa3
 fate-adpcm-ima-ws-vqa3: CMD = framecrc -i $(TARGET_SAMPLES)/vqa/small-cut-v3.vqa -vn -af aresample
 
-FATE_ADPCM-$(call DEMDEC, DXA, ADPCM_MS) += fate-adpcm-ms-mono
+FATE_ADPCM-$(call FRAMECRC, DXA, ADPCM_MS) += fate-adpcm-ms-mono
 fate-adpcm-ms-mono: CMD = framecrc -i $(TARGET_SAMPLES)/dxa/meetsquid.dxa -t 2 -vn
 
 FATE_ADPCM-$(call DEMDEC, MOV, ADPCM_MS) += fate-adpcm_ms-stereo
 fate-adpcm_ms-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-L-ms02.mov -f s16le
 
-FATE_ADPCM-$(call DEMDEC, THP, ADPCM_THP, ARESAMPLE_FILTER) += fate-adpcm-thp
+FATE_ADPCM-$(call FRAMECRC, THP, ADPCM_THP, ARESAMPLE_FILTER) += fate-adpcm-thp
 fate-adpcm-thp: CMD = framecrc -i $(TARGET_SAMPLES)/thp/pikmin2-opening1-partial.thp -vn -af aresample
 
-FATE_ADPCM-$(call DEMDEC, SMUSH, ADPCM_VIMA) += fate-adpcm-vima
+FATE_ADPCM-$(call FRAMECRC, SMUSH, ADPCM_VIMA) += fate-adpcm-vima
 fate-adpcm-vima: CMD = framecrc -i $(TARGET_SAMPLES)/smush/ronin_part.znm -vn
 
-FATE_ADPCM-$(call DEMDEC, STR, ADPCM_XA, ARESAMPLE_FILTER) += fate-adpcm-xa
+FATE_ADPCM-$(call FRAMECRC, STR, ADPCM_XA, ARESAMPLE_FILTER) += fate-adpcm-xa
 fate-adpcm-xa: CMD = framecrc -i $(TARGET_SAMPLES)/psx-str/abc000_cut.str -vn -af aresample
 
 FATE_ADPCM-$(call DEMDEC, ARGO_ASF, ADPCM_ARGO, ARESAMPLE_FILTER) += fate-adpcm-argo-mono
diff --git a/tests/fate/alac.mak b/tests/fate/alac.mak
index d582d07ef2..fd58703b6a 100644
--- a/tests/fate/alac.mak
+++ b/tests/fate/alac.mak
@@ -20,7 +20,7 @@ fate-alac-24-%: CMD = enc_dec_pcm mov wav s24le $(subst $(SAMPLES),$(TARGET_SAMP
 fate-alac-%: CMP = oneoff
 fate-alac-%: FUZZ = 0
 
-FATE_ALAC-$(call ENCDEC, ALAC, MOV, ARESAMPLE_FILTER) += $(FATE_ALAC)
+FATE_ALAC-$(call ENCDEC, ALAC, MOV, ARESAMPLE_FILTER PIPE_PROTOCOL) += $(FATE_ALAC)
 
 FATE_SAMPLES_FFMPEG += $(FATE_ALAC-yes)
 fate-alac: $(FATE_ALAC-yes)
diff --git a/tests/fate/als.mak b/tests/fate/als.mak
index c7287dee86..58649bd01c 100644
--- a/tests/fate/als.mak
+++ b/tests/fate/als.mak
@@ -11,5 +11,6 @@ FATE_ALS += fate-mpeg4-als-conformance-09
 
 fate-mpeg4-als-conformance-09: CMD = crc -i $(TARGET_SAMPLES)/lossless-audio/als_09_512ch2k16b.mp4
 
-FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, ALS) += $(FATE_ALS)
+FATE_ALS := $(if $(call CRC, MOV, ALS), $(FATE_ALS))
+FATE_SAMPLES_AVCONV-yes += $(FATE_ALS)
 fate-als: $(FATE_ALS)
diff --git a/tests/fate/amrnb.mak b/tests/fate/amrnb.mak
index 3dad9d67f6..007174de0a 100644
--- a/tests/fate/amrnb.mak
+++ b/tests/fate/amrnb.mak
@@ -35,6 +35,6 @@ fate-amrnb-remux: CMD = transcode amr $(TARGET_SAMPLES)/amrnb/10.2k.amr amr "-c
 
 $(FATE_AMRNB): CMP = stddev
 
-FATE_SAMPLES_FFMPEG-$(call DEMDEC, AMR, AMRNB, ARESAMPLE_FILTER) += $(FATE_AMRNB)
+FATE_SAMPLES_FFMPEG-$(call PCM, AMR, AMRNB, ARESAMPLE_FILTER) += $(FATE_AMRNB)
 FATE_SAMPLES_FFMPEG += $(FATE_AMRNB_REMUX-yes)
 fate-amrnb: $(FATE_AMRNB) $(FATE_AMRNB_REMUX-yes)
diff --git a/tests/fate/amrwb.mak b/tests/fate/amrwb.mak
index 5e0a47bb82..aec1c9d859 100644
--- a/tests/fate/amrwb.mak
+++ b/tests/fate/amrwb.mak
@@ -46,6 +46,6 @@ fate-amrwb-remux: CMD = transcode mov $(TARGET_SAMPLES)/amrwb/seed-23k85.awb amr
 
 $(FATE_AMRWB): CMP = stddev
 
-FATE_SAMPLES_FFMPEG-$(call DEMDEC, MOV, AMRWB, ARESAMPLE_FILTER) += $(FATE_AMRWB)
+FATE_SAMPLES_FFMPEG-$(call PCM, MOV, AMRWB, ARESAMPLE_FILTER) += $(FATE_AMRWB)
 FATE_SAMPLES_FFMPEG += $(FATE_AMRWB_REMUX-yes)
 fate-amrwb: $(FATE_AMRWB) $(FATE_AMRWB_REMUX-yes)
diff --git a/tests/fate/apng.mak b/tests/fate/apng.mak
index e9d3cf2a02..aec06c28a6 100644
--- a/tests/fate/apng.mak
+++ b/tests/fate/apng.mak
@@ -13,7 +13,7 @@ fate-apng-dispose-background: CMD = framecrc -i $(TARGET_SAMPLES)/apng/015.png
 FATE_APNG += fate-apng-dispose-background2
 fate-apng-dispose-background2: CMD = framecrc -i $(TARGET_SAMPLES)/apng/alogo.png
 
-FATE_APNG-$(call DEMDEC, APNG, APNG) += $(FATE_APNG)
+FATE_APNG-$(call FRAMECRC, APNG, APNG) += $(FATE_APNG)
 
 FATE_SAMPLES_FFMPEG += $(FATE_APNG-yes)
 fate-apng: $(FATE_APNG-yes)
diff --git a/tests/fate/atrac.mak b/tests/fate/atrac.mak
index 592d1819df..098063e298 100644
--- a/tests/fate/atrac.mak
+++ b/tests/fate/atrac.mak
@@ -7,7 +7,7 @@ fate-atrac1-2: CMD = pcm -i $(TARGET_SAMPLES)/atrac1/chirp_tone_10-16000.aea
 fate-atrac1-2: REF = $(SAMPLES)/atrac1/chirp_tone_10-16000.pcm
 fate-atrac1-2: FUZZ = 61
 
-FATE_ATRAC1-$(call DEMDEC, AEA, ATRAC1, ARESAMPLE_FILTER) += $(FATE_ATRAC1)
+FATE_ATRAC1-$(call PCM, AEA, ATRAC1, ARESAMPLE_FILTER) += $(FATE_ATRAC1)
 
 FATE_ATRAC3 += fate-atrac3-1
 fate-atrac3-1: CMD = pcm -i $(TARGET_SAMPLES)/atrac3/mc_sich_at3_066_small.wav
@@ -21,7 +21,7 @@ FATE_ATRAC3 += fate-atrac3-3
 fate-atrac3-3: CMD = pcm -i $(TARGET_SAMPLES)/atrac3/mc_sich_at3_132_small.wav
 fate-atrac3-3: REF = $(SAMPLES)/atrac3/mc_sich_at3_132_small.pcm
 
-FATE_ATRAC3-$(call DEMDEC, WAV, ATRAC3, ARESAMPLE_FILTER) += $(FATE_ATRAC3)
+FATE_ATRAC3-$(call PCM, WAV, ATRAC3, ARESAMPLE_FILTER) += $(FATE_ATRAC3)
 
 FATE_ATRAC3P += fate-atrac3p-1
 fate-atrac3p-1: CMD = pcm -i $(TARGET_SAMPLES)/atrac3p/at3p_sample1.oma
@@ -31,7 +31,7 @@ FATE_ATRAC3P += fate-atrac3p-2
 fate-atrac3p-2: CMD = pcm -i $(TARGET_SAMPLES)/atrac3p/sonateno14op27-2-cut.aa3
 fate-atrac3p-2: REF = $(SAMPLES)/atrac3p/sonateno14op27-2-cut.pcm
 
-FATE_ATRAC3P-$(call DEMDEC, OMA, ATRAC3P, ARESAMPLE_FILTER) += $(FATE_ATRAC3P)
+FATE_ATRAC3P-$(call PCM, OMA, ATRAC3P, ARESAMPLE_FILTER) += $(FATE_ATRAC3P)
 
 FATE_ATRAC_ALL = $(FATE_ATRAC1-yes) $(FATE_ATRAC3-yes) $(FATE_ATRAC3P-yes)
 
diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak
index 6d3cae8f52..1a2d07304b 100644
--- a/tests/fate/audio.mak
+++ b/tests/fate/audio.mak
@@ -20,10 +20,10 @@ $(FATE_BINKAUDIO-yes): CMP = oneoff
 FATE_SAMPLES_AUDIO += $(FATE_BINKAUDIO-yes)
 fate-binkaudio: $(FATE_BINKAUDIO-yes)
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, BMV, BMV_AUDIO) += fate-bmv-audio
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, BMV, BMV_AUDIO) += fate-bmv-audio
 fate-bmv-audio: CMD = framecrc -i $(TARGET_SAMPLES)/bmv/SURFING-partial.BMV -vn
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, DSICIN, DSICINAUDIO) += fate-delphine-cin-audio
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, DSICIN, DSICINAUDIO) += fate-delphine-cin-audio
 fate-delphine-cin-audio: CMD = framecrc -i $(TARGET_SAMPLES)/delphine-cin/LOGO-partial.CIN -vn
 
 FATE_SAMPLES_AUDIO-$(call PCM, S337M, DOLBY_E, ARESAMPLE_FILTER) += fate-dolby-e
@@ -31,10 +31,10 @@ fate-dolby-e: CMD = pcm -i $(TARGET_SAMPLES)/dolby_e/16-11
 fate-dolby-e: CMP = oneoff
 fate-dolby-e: REF = $(SAMPLES)/dolby_e/16-11.pcm
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP, ARESAMPLE_FILTER) += fate-dss-lp
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, DSS, DSS_SP, ARESAMPLE_FILTER) += fate-dss-lp
 fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames 30 -af aresample
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-sp
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, DSS, DSS_SP) += fate-dss-sp
 fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames 30
 
 FATE_SAMPLES_AUDIO-$(call PCM, DSF, DST, ARESAMPLE_FILTER) += fate-dsf-dst
@@ -42,7 +42,7 @@ fate-dsf-dst: CMD = pcm -i $(TARGET_SAMPLES)/dst/dst-64fs44-2ch.dff
 fate-dsf-dst: CMP = oneoff
 fate-dsf-dst: REF = $(SAMPLES)/dst/dst-64fs44-2ch.pcm
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, AVI, IMC, ARESAMPLE_FILTER) += fate-imc
+FATE_SAMPLES_AUDIO-$(call PCM, AVI, IMC, ARESAMPLE_FILTER) += fate-imc
 fate-imc: CMD = pcm -i $(TARGET_SAMPLES)/imc/imc.avi
 fate-imc: CMP = oneoff
 fate-imc: CMP_TARGET = 59416
@@ -58,7 +58,7 @@ fate-nellymoser: CMD = pcm -i $(TARGET_SAMPLES)/nellymoser/nellymoser.flv
 fate-nellymoser: CMP = oneoff
 fate-nellymoser: REF = $(SAMPLES)/nellymoser/nellymoser.pcm
 
-FATE_SAMPLES_AUDIO-$(call ENCMUX, NELLYMOSER, FLV, ARESAMPLE_FILTER) += fate-nellymoser-aref-encode
+FATE_SAMPLES_AUDIO-$(call ENCMUX, NELLYMOSER, FLV, ARESAMPLE_FILTER PIPE_PROTOCOL) += fate-nellymoser-aref-encode
 fate-nellymoser-aref-encode: $(AREF) ./tests/data/asynth-16000-1.wav
 fate-nellymoser-aref-encode: CMD = enc_dec_pcm flv wav s16le $(REF) -c:a nellymoser
 fate-nellymoser-aref-encode: CMP = stddev
@@ -67,16 +67,16 @@ fate-nellymoser-aref-encode: CMP_SHIFT = -256
 fate-nellymoser-aref-encode: CMP_TARGET = 3863
 fate-nellymoser-aref-encode: SIZE_TOLERANCE = 268
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, AVI, ON2AVC, ARESAMPLE_FILTER) += fate-on2avc
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, AVI, ON2AVC, ARESAMPLE_FILTER) += fate-on2avc
 fate-on2avc: CMD = framecrc -i $(TARGET_SAMPLES)/vp7/potter-40.vp7 -frames 30 -vn -af aresample
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, PAF, PAF_AUDIO) += fate-paf-audio
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, PAF, PAF_AUDIO) += fate-paf-audio
 fate-paf-audio: CMD = framecrc -i $(TARGET_SAMPLES)/paf/hod1-partial.paf -vn
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, VMD, VMDAUDIO, ARESAMPLE_FILTER) += fate-sierra-vmd-audio
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, VMD, VMDAUDIO, ARESAMPLE_FILTER) += fate-sierra-vmd-audio
 fate-sierra-vmd-audio: CMD = framecrc -i $(TARGET_SAMPLES)/vmd/12.vmd -vn -af aresample
 
-FATE_SAMPLES_AUDIO-$(call DEMDEC, SMACKER, SMACKAUD, ARESAMPLE_FILTER) += fate-smacker-audio
+FATE_SAMPLES_AUDIO-$(call FRAMECRC, SMACKER, SMACKAUD, ARESAMPLE_FILTER) += fate-smacker-audio
 fate-smacker-audio: CMD = framecrc -i $(TARGET_SAMPLES)/smacker/wetlogo.smk -vn -af aresample
 
 FATE_SAMPLES_AUDIO-$(call DEMDEC, WSVQA, WS_SND1, ARESAMPLE_FILTER) += fate-ws_snd
diff --git a/tests/fate/caf.mak b/tests/fate/caf.mak
index a53f5fa0f8..4ee9c95a5c 100644
--- a/tests/fate/caf.mak
+++ b/tests/fate/caf.mak
@@ -1,4 +1,4 @@
-FATE_CAF_FFMPEG-$(call ALLYES, CAF_DEMUXER CRC_MUXER) += fate-caf-demux
+FATE_CAF_FFMPEG-$(call CRC, CAF) += fate-caf-demux
 fate-caf-demux: CMD = crc -i $(TARGET_SAMPLES)/caf/caf-pcm16.caf -c copy
 
 FATE_CAF_FFMPEG_FFPROBE-$(call REMUX, CAF, MOV_DEMUXER) += fate-caf-alac-remux
diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
index 52d61afb9f..715e64bfac 100644
--- a/tests/fate/demux.mak
+++ b/tests/fate/demux.mak
@@ -1,82 +1,82 @@
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AVI, FRAPS) += fate-avio-direct
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, AVI, FRAPS) += fate-avio-direct
 fate-avio-direct: CMD = framecrc -avioflags direct -i $(TARGET_SAMPLES)/fraps/fraps-v5-bouncing-balls-partial.avi -avioflags direct
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AAC, AAC, AAC_PARSER) += fate-adts-demux fate-adts-id3v1-demux fate-adts-id3v2-demux fate-adts-id3v2-two-tags-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, AAC, AAC, AAC_PARSER CRC_MUXER) += fate-adts-demux fate-adts-id3v1-demux fate-adts-id3v2-demux fate-adts-id3v2-two-tags-demux
 fate-adts-demux: CMD = crc -i $(TARGET_SAMPLES)/aac/ct_faac-adts.aac -c:a copy
 fate-adts-id3v1-demux: CMD = framecrc -f aac -i $(TARGET_SAMPLES)/aac/id3v1.aac -c:a copy
 fate-adts-id3v2-demux: CMD = framecrc -f aac -i $(TARGET_SAMPLES)/aac/id3v2.aac -c:a copy
 fate-adts-id3v2-two-tags-demux: CMD = framecrc -i $(TARGET_SAMPLES)/aac/id3v2_two_tags.aac -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AA,, SIPR_PARSER) += fate-aa-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, AA,, SIPR_PARSER) += fate-aa-demux
 fate-aa-demux: CMD = framecrc -i $(TARGET_SAMPLES)/aa/bush.aa -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
+FATE_SAMPLES_DEMUX-$(call CRC, AEA) += fate-aea-demux
 fate-aea-demux: CMD = crc -i $(TARGET_SAMPLES)/aea/chirp.aea -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, AV1, AV1, EXTRACT_EXTRADATA_BSF) += fate-av1-annexb-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, AV1, AV1, EXTRACT_EXTRADATA_BSF) += fate-av1-annexb-demux
 fate-av1-annexb-demux: CMD = framecrc -c:v av1 -i $(TARGET_SAMPLES)/av1/annexb.obu -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_AST_DEMUXER) += fate-ast
+FATE_SAMPLES_DEMUX-$(call CRC, AST) += fate-ast
 fate-ast: CMD = crc -i $(TARGET_SAMPLES)/ast/demo11_02_partial.ast -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_BINK_DEMUXER) += fate-bink-demux
+FATE_SAMPLES_DEMUX-$(call CRC, BINK) += fate-bink-demux
 fate-bink-demux: CMD = crc -i $(TARGET_SAMPLES)/bink/Snd0a7d9b58.dee -vn -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_BFSTM_DEMUXER) += fate-bfstm fate-bcstm
+FATE_SAMPLES_DEMUX-$(call CRC, BFSTM) += fate-bfstm fate-bcstm
 fate-bfstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/spl-forest-day.bfstm -c:a copy
 fate-bcstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/loz-mm-mikau.bcstm -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_BRSTM_DEMUXER) += fate-brstm
+FATE_SAMPLES_DEMUX-$(call CRC, BRSTM) += fate-brstm
 fate-brstm: CMD = crc -i $(TARGET_SAMPLES)/brstm/lozswd_partial.brstm -c:a copy
 
 FATE_FFPROBE_DEMUX-$(call DEMDEC, CAVSVIDEO, CAVS, CAVSVIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-cavs-demux
 fate-cavs-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/cavs/bunny.mp4
 
-FATE_SAMPLES_DEMUX-$(CONFIG_CDXL_DEMUXER) += fate-cdxl-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, CDXL) += fate-cdxl-demux
 fate-cdxl-demux: CMD = framecrc -i $(TARGET_SAMPLES)/cdxl/mirage.cdxl -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_CINE_DEMUXER) += fate-cine-demux
+FATE_SAMPLES_DEMUX-$(call CRC, CINE) += fate-cine-demux
 fate-cine-demux: CMD = crc -i $(TARGET_SAMPLES)/cine/bayer_gbrg8.cine -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_DAUD_DEMUXER) += fate-d-cinema-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, DAUD) += fate-d-cinema-demux
 fate-d-cinema-demux: CMD = framecrc -i $(TARGET_SAMPLES)/d-cinema/THX_Science_FLT_1920-partial.302 -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, EA, VP6) += fate-d-eavp6-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, EA, VP6) += fate-d-eavp6-demux
 fate-d-eavp6-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ea-vp6/SmallRing.vp6 -map 0 -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, FITS GIF, FITS GIF, FITS_MUXER FITS_ENCODER GIF_PARSER SCALE_FILTER) += fate-fits-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, FITS GIF, FITS GIF, FITS_MUXER FITS_ENCODER GIF_PARSER SCALE_FILTER) += fate-fits-demux
 fate-fits-demux: tests/data/fits-multi.fits
 fate-fits-demux: CMD = framecrc -i $(TARGET_PATH)/tests/data/fits-multi.fits -c:v copy
 
 FATE_FFPROBE_DEMUX-$(call DEMDEC, FLV, H264 AAC, H264_PARSER) += fate-flv-demux
 fate-flv-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/flv/Enigma_Principles_of_Lust-part.flv
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, GIF,, GIF_PARSER) += fate-gif-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, GIF,, GIF_PARSER) += fate-gif-demux
 fate-gif-demux: CMD = framecrc -i $(TARGET_SAMPLES)/gif/Newtons_cradle_animation_book_2.gif -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-iv8-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, IV8,, MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-iv8-demux
 fate-iv8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/iv8/zzz-partial.mpg -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_JV_DEMUXER) += fate-jv-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, JV) += fate-jv-demux
 fate-jv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/jv/intro.jv -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-lmlm4-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, LMLM4,, MPEG4VIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-lmlm4-demux
 fate-lmlm4-demux: CMD = framecrc -i $(TARGET_SAMPLES)/lmlm4/LMLM4_CIFat30fps.divx -t 3 -c:a copy -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_XA_DEMUXER) += fate-maxis-xa
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, XA) += fate-maxis-xa
 fate-maxis-xa: CMD = framecrc -i $(TARGET_SAMPLES)/maxis-xa/SC2KBUG.XA -frames:a 30 -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA, H264) += fate-mkv
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, MATROSKA, H264) += fate-mkv
 fate-mkv: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/test7_cut.mkv -c copy
 
 #No dts errors or duplicate DTS should be in this
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA,, H264_PARSER) += fate-mkv-1242
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, MATROSKA,, H264_PARSER) += fate-mkv-1242
 fate-mkv-1242: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -c copy -frames:v 11
 
-FATE_SAMPLES_DEMUX-$(CONFIG_MLV_DEMUXER) += fate-mlv-demux
+FATE_SAMPLES_DEMUX-$(call CRC, MLV) += fate-mlv-demux
 fate-mlv-demux: CMD = crc -i $(TARGET_SAMPLES)/mlv/M19-0333-cut.MLV -c copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, MOV_DEMUXER FRAMECRC_MUXER PIPE_PROTOCOL) += fate-mov-mp3-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, MOV) += fate-mov-mp3-demux
 fate-mov-mp3-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mpegaudio/packed_maindata.mp3.mp4 -c copy
 
 FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, OPUS, MPEGTS, OPUS) += fate-ts-opus-demux
@@ -85,76 +85,76 @@ fate-ts-opus-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/opus/test-8-7.1.opus-s
 FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, H264, MPEGTS, H264, EXTRACT_EXTRADATA_BSF) += fate-ts-small-demux
 fate-ts-small-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/mpegts/h264small.ts
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MTV,, MPEGAUDIO_PARSER) += fate-mtv
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, MTV,, MPEGAUDIO_PARSER) += fate-mtv
 fate-mtv: CMD = framecrc -i $(TARGET_SAMPLES)/mtv/comedian_auto-partial.mtv -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, MXF,, MPEG4VIDEO_PARSER) += fate-mxf-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, MXF,, MPEG4VIDEO_PARSER) += fate-mxf-demux
 fate-mxf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mxf/C0023S01.mxf -c:a copy -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-nc-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, NC,, MPEG4VIDEO_PARSER EXTRACT_EXTRADATA_BSF) += fate-nc-demux
 fate-nc-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nc-camera/nc-sample-partial -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_NISTSPHERE_DEMUXER) += fate-nistsphere-demux
+FATE_SAMPLES_DEMUX-$(call CRC, NISTSPHERE) += fate-nistsphere-demux
 fate-nistsphere-demux: CMD = crc -i $(TARGET_SAMPLES)/nistsphere/nist-ulaw.nist -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, NSV,, VP3_PARSER MPEGAUDIO_PARSER) += fate-nsv-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, NSV,, VP3_PARSER MPEGAUDIO_PARSER) += fate-nsv-demux
 fate-nsv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nsv/witchblade-51kbps.nsv -t 6 -c:v copy -c:a copy
 
 FATE_FFPROBE_DEMUX-$(call DEMDEC, OGG, OPUS) += fate-oggopus-demux
 fate-oggopus-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/ogg/intro-partial.opus
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, OGG, THEORA) += fate-oggtheora-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, OGG, THEORA) += fate-oggtheora-demux
 fate-oggtheora-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/empty_theora_packets.ogv -c:v copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, OGG,, VP8_PARSER) += fate-oggvp8-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, OGG,, VP8_PARSER) += fate-oggvp8-demux
 fate-oggvp8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/videotest.ogv -c:v copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_PAF_DEMUXER) += fate-paf-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, PAF) += fate-paf-demux
 fate-paf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/paf/hod1-partial.paf -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_PMP_DEMUXER) += fate-pmp-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, PMP) += fate-pmp-demux
 fate-pmp-demux: CMD = framecrc -i $(TARGET_SAMPLES)/pmp/demo.pmp -vn -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_RSD_DEMUXER) += fate-rsd-demux
+FATE_SAMPLES_DEMUX-$(call CRC, RSD) += fate-rsd-demux
 fate-rsd-demux: CMD = crc -i $(TARGET_SAMPLES)/rsd/hum01_partial.rsd -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_REDSPARK_DEMUXER) += fate-redspark-demux
+FATE_SAMPLES_DEMUX-$(call CRC, REDSPARK) += fate-redspark-demux
 fate-redspark-demux: CMD = crc -i $(TARGET_SAMPLES)/redspark/jingle04_partial.rsd -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_STR_DEMUXER) += fate-psx-str-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, STR) += fate-psx-str-demux
 fate-psx-str-demux: CMD = framecrc -i $(TARGET_SAMPLES)/psx-str/descent-partial.str -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, PVA, MPEG2VIDEO, MPEGAUDIO_PARSER) += fate-pva-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, PVA, MPEG2VIDEO, MPEGAUDIO_PARSER) += fate-pva-demux
 fate-pva-demux: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_QCP_DEMUXER) += fate-qcp-demux
+FATE_SAMPLES_DEMUX-$(call CRC, QCP) += fate-qcp-demux
 fate-qcp-demux: CMD = crc -i $(TARGET_SAMPLES)/qcp/0036580847.QCP -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, R3D, JPEG2000 PCM_S32BE) += fate-redcode-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, R3D, JPEG2000 PCM_S32BE) += fate-redcode-demux
 fate-redcode-demux: CMD = framecrc -i $(TARGET_SAMPLES)/r3d/4MB-sample.r3d -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(call ALLYES, S337M_DEMUXER DOLBY_E_PARSER FRAMECRC_MUXER) += fate-s337m-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, S337M,, DOLBY_E_PARSER) += fate-s337m-demux
 fate-s337m-demux: CMD = framecrc -i $(TARGET_SAMPLES)/dolby_e/16-11 -c copy -ss 2 -t 1
 
-FATE_SAMPLES_DEMUX-$(CONFIG_SIFF_DEMUXER) += fate-siff-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, SIFF) += fate-siff-demux
 fate-siff-demux: CMD = framecrc -i $(TARGET_SAMPLES)/SIFF/INTRO_B.VB -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, SMJPEG, MJPEG ADPCM_IMA_SMJPEG) += fate-smjpeg-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, SMJPEG, MJPEG ADPCM_IMA_SMJPEG) += fate-smjpeg-demux
 fate-smjpeg-demux: CMD = framecrc -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, WAV SPDIF,, AC3_PARSER) += fate-wav-ac3
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, WAV SPDIF,, AC3_PARSER) += fate-wav-ac3
 fate-wav-ac3: CMD = framecrc -i $(TARGET_SAMPLES)/ac3/diatonis_invisible_order_anfos_ac3-small.wav -c copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_WSAUD_DEMUXER) += fate-westwood-aud
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, WSAUD) += fate-westwood-aud
 fate-westwood-aud: CMD = framecrc -i $(TARGET_SAMPLES)/westwood-aud/excellent.aud -c copy
 
-FATE_SAMPLES_DEMUX-$(call DEMDEC, WTV, MJPEG, MPEGVIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-wtv-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, WTV, MJPEG, MPEGVIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF) += fate-wtv-demux
 fate-wtv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/wtv/law-and-order-partial.wtv -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_XMV_DEMUXER) += fate-xmv-demux
+FATE_SAMPLES_DEMUX-$(call FRAMECRC, XMV) += fate-xmv-demux
 fate-xmv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/xmv/logos1p.fmv -c:v copy -c:a copy
 
-FATE_SAMPLES_DEMUX-$(CONFIG_XWMA_DEMUXER) += fate-xwma-demux
+FATE_SAMPLES_DEMUX-$(call CRC, XWMA) += fate-xwma-demux
 fate-xwma-demux: CMD = crc -i $(TARGET_SAMPLES)/xwma/ergon.xwma -c:a copy
 
 FATE_FFPROBE_DEMUX-$(call PARSERDEMDEC, MPEGVIDEO, MPEGTS, MPEG2VIDEO AC3, EXTRACT_EXTRADATA_BSF) += fate-ts-demux
diff --git a/tests/fate/dpcm.mak b/tests/fate/dpcm.mak
index dd27246324..7596bdfb28 100644
--- a/tests/fate/dpcm.mak
+++ b/tests/fate/dpcm.mak
@@ -1,7 +1,7 @@
-FATE_DPCM-$(call DEMDEC, ROQ, ROQ_DPCM) += fate-dpcm-idroq
+FATE_DPCM-$(call FRAMECRC, ROQ, ROQ_DPCM) += fate-dpcm-idroq
 fate-dpcm-idroq: CMD = framecrc -i $(TARGET_SAMPLES)/idroq/idlogo.roq -vn
 
-FATE_DPCM-$(call DEMDEC, IPMOVIE, INTERPLAY_DPCM) += fate-dpcm-interplay
+FATE_DPCM-$(call FRAMECRC, IPMOVIE, INTERPLAY_DPCM) += fate-dpcm-interplay
 fate-dpcm-interplay: CMD = framecrc -i $(TARGET_SAMPLES)/interplay-mve/interplay-logo-2MB.mve -vn
 
 FATE_DPCM-$(call DEMDEC, SOL, SOL_DPCM) += fate-dpcm-sierra
diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak
index 87130428d1..360e62ebbe 100644
--- a/tests/fate/ffmpeg.mak
+++ b/tests/fate/ffmpeg.mak
@@ -40,7 +40,7 @@ fate-force_key_frames-source-dup: CMD = framecrc -i $(TARGET_SAMPLES)/h264/intra
   -c:v mpeg2video -g 400 -sc_threshold 99999 \
   -force_key_frames source -r 39 -force_fps -strict experimental
 
-FATE_SAMPLES_FFMPEG-$(call ENCDEC, MPEG2VIDEO H264, FRAMECRC H264, H264_PARSER CROP_FILTER DRAWBOX_FILTER) += \
+FATE_SAMPLES_FFMPEG-$(call ENCDEC, MPEG2VIDEO H264, FRAMECRC H264, H264_PARSER CROP_FILTER DRAWBOX_FILTER PIPE_PROTOCOL) += \
     fate-force_key_frames-source fate-force_key_frames-source-drop fate-force_key_frames-source-dup
 
 # Tests that the video is properly autorotated using the contained
@@ -97,8 +97,8 @@ fate-shortest: tests/data/vsynth1.yuv
 fate-shortest: CMD = framecrc -auto_conversion_filters -f lavfi -i "sine=3000:d=10" -f lavfi -i "sine=1000:d=1" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth1.yuv -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 2:v:0 -map "[audio]" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -dct fastint -qscale 10 -threads 1 -c:v mpeg4 -c:a ac3_fixed -shortest
 
 # test interleaving video with a sparse subtitle stream
-FATE_SAMPLES_FFMPEG-$(call ALLYES, COLOR_FILTER, VOBSUB_DEMUXER, MATROSKA_DEMUXER,, \
-                           RAWVIDEO_ENCODER, MATROSKA_MUXER, FRAMECRC_MUXER) += fate-shortest-sub
+FATE_SAMPLES_FFMPEG-$(call FRAMECRC, MATROSKA,, COLOR_FILTER VOBSUB_DEMUXER \
+                           RAWVIDEO_ENCODER MATROSKA_MUXER) += fate-shortest-sub
 fate-shortest-sub: CMD = transcode                                                                    \
         vobsub $(TARGET_SAMPLES)/sub/vobsub.idx matroska                                              \
         "-filter_complex 'color=s=1x1:rate=1:duration=400' -pix_fmt rgb24 -allow_raw_vfw 1 -c:s copy -c:v rawvideo"  \
diff --git a/tests/fate/fifo-muxer.mak b/tests/fate/fifo-muxer.mak
index 9c13954cf7..441f0fb5ed 100644
--- a/tests/fate/fifo-muxer.mak
+++ b/tests/fate/fifo-muxer.mak
@@ -2,7 +2,7 @@ fate-fifo-muxer-h264: CMD = ffmpeg -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -fram
                             -c:v copy -c:a copy -map v:0 -map a:0 -flags +bitexact\
                             -fflags +bitexact -f fifo -fifo_format framecrc -
 fate-fifo-muxer-h264: REF = $(SRC_PATH)/tests/ref/fate/mkv-1242
-FATE_SAMPLES_FIFO_MUXER-$(call ALLYES, FIFO_MUXER, MATROSKA_DEMUXER, H264_DECODER) += fate-fifo-muxer-h264
+FATE_SAMPLES_FIFO_MUXER-$(call FRAMECRC, MATROSKA, H264, FIFO_MUXER) += fate-fifo-muxer-h264
 
 fate-fifo-muxer-wav: CMD = ffmpeg -i $(TARGET_SAMPLES)/audio-reference/chorusnoise_2ch_44kHz_s16.wav\
                            -c:a copy -map a:0 -flags +bitexact\
diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 6d35db3c0c..f0600578b3 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -52,7 +52,8 @@ fate-filter-afade-log: CMD = framecrc -i $(SRC) -af afade=t=in:ss=1:d=2.5:curve=
 
 FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AFADE)
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ACROSSFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-acrossfade
+FATE_FILTER_ACROSSFADE-$(call FRAMECRC) += fate-filter-acrossfade
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ACROSSFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_ACROSSFADE-yes)
 fate-filter-acrossfade: tests/data/asynth-44100-2.wav
 fate-filter-acrossfade: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-filter-acrossfade: SRC2 = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
@@ -186,11 +187,13 @@ fate-filter-pan-downmix2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter
 FATE_AFILTER-$(call ALLYES, LAVFI_INDEV AEVALSRC_FILTER SILENCEREMOVE_FILTER ARESAMPLE_FILTER) += fate-filter-silenceremove
 fate-filter-silenceremove: CMD = framecrc -auto_conversion_filters -f lavfi -i "aevalsrc=between(t\,1\,2)+between(t\,4\,5)+between(t\,7\,9):d=10:n=8192,silenceremove=start_periods=0:start_duration=0:start_threshold=0:stop_periods=-1:stop_duration=0:stop_threshold=-90dB:window=0:detection=avg"
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, STEREOTOOLS ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-stereotools
+FATE_FILTER_STEREOTOOLS-$(call FRAMECRC) += fate-filter-stereotools
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, STEREOTOOLS ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_STEREOTOOLS-yes)
 fate-filter-stereotools: SRC = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
 fate-filter-stereotools: CMD = framecrc -i $(SRC) -frames:a 20 -af aresample,stereotools=mlev=0.015625,aresample
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, TREMOLO ATRIM ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-tremolo
+FATE_FILTER_TREMOLO-$(call FRAMECRC) += fate-filter-tremolo
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, TREMOLO ATRIM ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_TREMOLO-yes)
 fate-filter-tremolo: tests/data/asynth-44100-2.wav
 fate-filter-tremolo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 fate-filter-tremolo: CMD = ffmpeg -auto_conversion_filters -i $(SRC) -af tremolo,atrim=end_sample=20480 -f wav -f s16le -
@@ -242,14 +245,14 @@ fate-filter-amix-transition: SRC2 = $(TARGET_PATH)/tests/data/asynth-44100-2-3.w
 fate-filter-amix-transition: CMD = ffmpeg -auto_conversion_filters -filter_complex amix=inputs=3:dropout_transition=0.5 -max_size 4096 -i $(SRC) -ss 2 -max_size 4096 -i $(SRC1) -ss 4 -max_size 4096 -i $(SRC2) -f f32le -
 fate-filter-amix-transition: REF = $(SAMPLES)/filter/amix_transition.pcm
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, AMIX ARESAMPLE, WAV, PCM_S16LE, PCM_F32LE, PCM_F32LE) += $(FATE_AMIX)
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, AMIX ARESAMPLE, WAV, PCM_S16LE, PCM_F32LE, PCM_F32LE, PIPE_PROTOCOL) += $(FATE_AMIX)
 $(FATE_AMIX): tests/data/asynth-44100-2.wav tests/data/asynth-44100-2-2.wav
 $(FATE_AMIX): SRC  = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 $(FATE_AMIX): SRC1 = $(TARGET_PATH)/tests/data/asynth-44100-2-2.wav
 $(FATE_AMIX): CMP  = oneoff
 $(FATE_AMIX): CMP_UNIT = f32
 
-FATE_AFILTER_SAMPLES-$(call DEMDEC, FLV, NELLYMOSER, PCM_S16LE_MUXER ARESAMPLE_FILTER) += fate-filter-aresample
+FATE_AFILTER_SAMPLES-$(call PCM, FLV, NELLYMOSER, PCM_S16LE_MUXER ARESAMPLE_FILTER) += fate-filter-aresample
 fate-filter-aresample: SRC = $(TARGET_SAMPLES)/nellymoser/nellymoser-discont.flv
 fate-filter-aresample: CMD = pcm -analyzeduration 10000000 -i $(SRC) -af aresample=min_comp=0.001:min_hard_comp=0.1:first_pts=0
 fate-filter-aresample: CMP = oneoff
@@ -412,7 +415,7 @@ fate-filter-hdcd-s32p: CMD = md5 -i $(SRC) -af hdcd -f s32le
 fate-filter-hdcd-s32p: CMP = oneline
 fate-filter-hdcd-s32p: REF = 0c5513e83eedaa10ab6fac9ddc173cf5
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ATEMPO, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE WAV) += fate-filter-atempo
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ATEMPO, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE WAV, PIPE_PROTOCOL) += fate-filter-atempo
 fate-filter-atempo: tests/data/asynth-44100-1.wav
 fate-filter-atempo: CMD = pcm -i $(TARGET_PATH)/tests/data/asynth-44100-1.wav -af "atempo=2.0"
 fate-filter-atempo: CMP = oneoff
@@ -429,6 +432,7 @@ FATE_AFILTER-yes += fate-filter-formats
 fate-filter-formats: libavfilter/tests/formats$(EXESUF)
 fate-filter-formats: CMD = run libavfilter/tests/formats$(EXESUF)
 
+FATE_AFILTER-yes := $(if $(call FRAMECRC), $(FATE_AFILTER-yes))
 FATE_SAMPLES_AVCONV += $(FATE_AFILTER_SAMPLES-yes)
 FATE_FFMPEG += $(FATE_AFILTER-yes)
 fate-afilter: $(FATE_AFILTER-yes) $(FATE_AFILTER_SAMPLES-yes)
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index ce087cf572..c2564efeb0 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -588,8 +588,8 @@ fate-filter-pixelize-min: CMD = video_filter "pixelize=mode=min"
 FATE_FILTER_VSYNTH_VIDEO_FILTER-$(CONFIG_PIXELIZE_FILTER) += fate-filter-pixelize-max
 fate-filter-pixelize-max: CMD = video_filter "pixelize=mode=max"
 
-FATE_FILTER_VSYNTH_VIDEO_FILTER-$(CONFIG_TILTANDSHIFT_FILTER) += fate-filter-tiltandshift
-FATE_FILTER_VSYNTH_VIDEO_FILTER-$(call ALLYES, SCALE_FILTER TILTANDSHIFT_FILTER) += fate-filter-tiltandshift-410 fate-filter-tiltandshift-422 fate-filter-tiltandshift-444
+FATE_FILTER_VSYNTH_VIDEO_FILTER-$(call FRAMECRC,,, TILTANDSHIFT_FILTER) += fate-filter-tiltandshift
+FATE_FILTER_VSYNTH_VIDEO_FILTER-$(call FRAMECRC,,, SCALE_FILTER TILTANDSHIFT_FILTER) += fate-filter-tiltandshift-410 fate-filter-tiltandshift-422 fate-filter-tiltandshift-444
 fate-filter-tiltandshift: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitexact -vf tiltandshift
 fate-filter-tiltandshift-410: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitexact -vf scale=sws_flags=+accurate_rnd+bitexact,format=yuv410p,tiltandshift
 fate-filter-tiltandshift-422: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitexact -vf scale=sws_flags=+accurate_rnd+bitexact,format=yuv422p,tiltandshift
diff --git a/tests/fate/flac.mak b/tests/fate/flac.mak
index 3424b2bf82..62f2126d92 100644
--- a/tests/fate/flac.mak
+++ b/tests/fate/flac.mak
@@ -30,7 +30,7 @@ fate-flac-rice-params: CMD = enc_dec_pcm flac wav s16le $(subst $(SAMPLES),$(TAR
 fate-flac-%: CMP = oneoff
 fate-flac-%: FUZZ = 0
 
-FATE_FLAC-$(call ENCMUX, FLAC, FLAC) += $(FATE_FLAC)
+FATE_FLAC-$(call ENCMUX, FLAC, FLAC, PIPE_PROTOCOL) += $(FATE_FLAC)
 
 FATE_SAMPLES_AVCONV += $(FATE_FLAC-yes)
 fate-flac: $(FATE_FLAC)
diff --git a/tests/fate/gapless.mak b/tests/fate/gapless.mak
index e6fba1436b..e2013ea854 100644
--- a/tests/fate/gapless.mak
+++ b/tests/fate/gapless.mak
@@ -1,4 +1,4 @@
-FATE_GAPLESS-$(call DEMDEC, MP3, MP3, ARESAMPLE_FILTER) += fate-gapless-mp3
+FATE_GAPLESS-$(call FRAMECRC, MP3, MP3, ARESAMPLE_FILTER) += fate-gapless-mp3
 fate-gapless-mp3: CMD = gapless $(TARGET_SAMPLES)/gapless/gapless.mp3 "-c:a mp3"
 
 FATE_GAPLESSINFO_PROBE-$(CONFIG_MP3_DEMUXER) += fate-gapless-mp3-side-data
diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index 291e88c149..07dac269b4 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -225,15 +225,15 @@ FATE_H264-$(call FRAMECRC, MOV, H264) += fate-h264-unescaped-extradata
 # this sample contains field-coded frames, with both fields in a single packet
 FATE_H264-$(call FRAMECRC, MOV, H264) += fate-h264-twofields-packet
 
-FATE_H264-$(call DEMDEC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF H264_METADATA_BSF SCALE_FILTER) += fate-h264-bsf-mp4toannexb-new-extradata
+FATE_H264-$(call FRAMECRC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF H264_METADATA_BSF SCALE_FILTER) += fate-h264-bsf-mp4toannexb-new-extradata
 
-FATE_H264-$(call DEMMUX, MOV, H264, H264_MP4TOANNEXB_BSF) += fate-h264-bsf-mp4toannexb \
+FATE_H264-$(call FRAMECRC, MOV,, H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264-bsf-mp4toannexb \
                                                              fate-h264-bsf-mp4toannexb-2 \
 
-FATE_H264-$(call DEMDEC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket5927 \
+FATE_H264-$(call FRAMECRC, MOV H264, H264, H264_PARSER H264_MUXER H264_MP4TOANNEXB_BSF EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket5927 \
                                                              fate-h264_mp4toannexb_ticket5927_2
 
-FATE_H264-$(call DEMMUX, H264, MOV, H264_PARSER DTS2PTS_BSF) += fate-h264-bsf-dts2pts
+FATE_H264-$(call FRAMECRC, H264,, H264_PARSER MOV_MUXER DTS2PTS_BSF) += fate-h264-bsf-dts2pts
 
 FATE_H264-$(call FRAMECRC, MATROSKA, H264) += fate-h264-direct-bff
 FATE_H264-$(call FRAMECRC, FLV, H264, SCALE_FILTER) += fate-h264-brokensps-2580
diff --git a/tests/fate/hlsenc.mak b/tests/fate/hlsenc.mak
index 72c75bec3a..b7455b7a33 100644
--- a/tests/fate/hlsenc.mak
+++ b/tests/fate/hlsenc.mak
@@ -105,6 +105,8 @@ tests/data/hls_fmp4_ac3.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 	-hls_time 2 -hls_segment_filename "$(TARGET_PATH)/tests/data/hls_fmp4_ac3_%d.m4s" \
 	$(TARGET_PATH)/tests/data/hls_fmp4_ac3.m3u8 2>/dev/null
 
+FATE_HLSENC-yes := $(if $(call FRAMECRC), $(FATE_HLSENC-yes))
+
 FATE_HLSENC_PROBE-$(call DEMMUX, HLS AC3, HLS MP4, AC3_DECODER) += fate-hls-fmp4_ac3
 fate-hls-fmp4_ac3: tests/data/hls_fmp4_ac3.m3u8
 fate-hls-fmp4_ac3: CMD = probeaudiostream $(TARGET_PATH)/tests/data/now_ac3.mp4
diff --git a/tests/fate/image.mak b/tests/fate/image.mak
index 3cedf9e877..98c4e0fdcc 100644
--- a/tests/fate/image.mak
+++ b/tests/fate/image.mak
@@ -331,7 +331,7 @@ FATE_EXR-$(call DEMDEC, IMAGE2, EXR, SCALE_FILTER) += $(FATE_EXR)
 FATE_IMAGE_FRAMECRC += $(FATE_EXR-yes)
 fate-exr: $(FATE_EXR-yes)
 
-FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG, SCALE_FILTER SETSAR_FILTER) += fate-jpg-12bpp
+FATE_JPG-$(call FRAMECRC, IMAGE2, MJPEG, SCALE_FILTER SETSAR_FILTER) += fate-jpg-12bpp
 fate-jpg-12bpp: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/12bpp.jpg -f rawvideo -pix_fmt gray16le -vf setsar=sar=sar,scale
 
 FATE_JPG += fate-jpg-jfif
@@ -360,7 +360,7 @@ fate-jpg-rgb-5: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/jpg/jpg-8930-5.
 FATE_JPG_TRANSCODE-$(call TRANSCODE, MJPEG, MJPEG IMAGE_JPEG_PIPE, IMAGE_PNG_PIPE_DEMUXER PNG_DECODER SCALE_FILTER) += fate-jpg-icc
 fate-jpg-icc: CMD = transcode png_pipe $(TARGET_SAMPLES)/png1/lena-int_rgb24.png mjpeg "-vf scale" "" "-show_frames"
 
-FATE_JPG-$(call DEMDEC, IMAGE2, MJPEG) += $(FATE_JPG)
+FATE_JPG-$(call FRAMECRC, IMAGE2, MJPEG) += $(FATE_JPG)
 FATE_IMAGE_FRAMECRC += $(FATE_JPG-yes)
 FATE_IMAGE_TRANSCODE += $(FATE_JPG_TRANSCODE-yes)
 fate-jpg: $(FATE_JPG-yes) $(FATE_JPG_TRANSCODE-yes)
diff --git a/tests/fate/imf.mak b/tests/fate/imf.mak
index 100822f5e0..5ff37104d4 100644
--- a/tests/fate/imf.mak
+++ b/tests/fate/imf.mak
@@ -4,6 +4,7 @@ fate-imf-cpl-with-repeat: CMD = framecrc -i $(TARGET_SAMPLES)/imf/countdown/CPL_
 FATE_IMF += fate-imf-cpl-with-audio
 fate-imf-cpl-with-audio: CMD = framecrc -i $(TARGET_SAMPLES)/imf/countdown-audio/CPL_688f4f63-a317-4271-99bf-51444ff39c5b.xml -c:a copy
 
-FATE_SAMPLES_FFMPEG-$(CONFIG_IMF_DEMUXER) += $(FATE_IMF)
+FATE_IMF := $(if $(call FRAMECRC, IMF), $(FATE_IMF))
+FATE_SAMPLES_FFMPEG += $(FATE_IMF)
 
 fate-imfdec: $(FATE_IMF)
diff --git a/tests/fate/indeo.mak b/tests/fate/indeo.mak
index bb3c154bb8..158fd52a0b 100644
--- a/tests/fate/indeo.mak
+++ b/tests/fate/indeo.mak
@@ -1,26 +1,24 @@
-FATE_INDEO2 += fate-indeo2-delta
+FATE_INDEO2-$(call FRAMECRC, AVI, INDEO2) += fate-indeo2-delta
 fate-indeo2-delta: CMD = framecrc -i $(TARGET_SAMPLES)/rt21/ISKATE.AVI -an
 
-FATE_INDEO2 += fate-indeo2-intra
+FATE_INDEO2-$(call FRAMECRC, AVI, INDEO2) += fate-indeo2-intra
 fate-indeo2-intra: CMD = framecrc -i $(TARGET_SAMPLES)/rt21/VPAR0026.AVI
 
-FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, INDEO2) += $(FATE_INDEO2)
-fate-indeo2: $(FATE_INDEO2)
+fate-indeo2: $(FATE_INDEO2-yes)
 
-FATE_INDEO3-$(CONFIG_MOV_DEMUXER) += fate-indeo3-1
+FATE_INDEO3-$(call FRAMECRC, MOV, INDEO3) += fate-indeo3-1
 fate-indeo3-1: CMD = framecrc -i $(TARGET_SAMPLES)/iv32/cubes.mov
 
-FATE_INDEO3-$(CONFIG_AVI_DEMUXER) += fate-indeo3-2
+FATE_INDEO3-$(call FRAMECRC, AVI, INDEO3) += fate-indeo3-2
 fate-indeo3-2: CMD = framecrc -i $(TARGET_SAMPLES)/iv32/OPENINGH.avi
 
-FATE_SAMPLES_AVCONV-$(CONFIG_INDEO3_DECODER) += $(FATE_INDEO3-yes)
 fate-indeo3: $(FATE_INDEO3-yes)
 
-FATE_INDEO-$(call DEMDEC, AVI, INDEO4) += fate-indeo4
+FATE_INDEO-$(call FRAMECRC, AVI, INDEO4) += fate-indeo4
 fate-indeo4: CMD = framecrc -i $(TARGET_SAMPLES)/iv41/indeo41-partial.avi -an
 
-FATE_INDEO-$(call DEMDEC, AVI, INDEO5) += fate-indeo5
+FATE_INDEO-$(call FRAMECRC, AVI, INDEO5) += fate-indeo5
 fate-indeo5: CMD = framecrc -i $(TARGET_SAMPLES)/iv50/Educ_Movie_DeadlyForce.avi -an
 
-FATE_SAMPLES_AVCONV += $(FATE_INDEO-yes)
+FATE_SAMPLES_AVCONV += $(FATE_INDEO2-yes) $(FATE_INDEO3-yes) $(FATE_INDEO-yes)
 fate-indeo: $(FATE_INDEO2) $(FATE_INDEO3-yes) $(FATE_INDEO-yes)
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 395b97b492..8e8d1d819d 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -71,21 +71,21 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
 FATE_AVCONV += $(FATE_LAVF_CONTAINER)
 fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
 
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MP4, AV1_DECODER AV1_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)             += av1.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, IVF, MATROSKA, AV1_DECODER AV1_PARSER EXTRACT_EXTRADATA_BSF MATROSKA_DEMUXER)   += av1.mkv
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, EVC, MP4, EVC_PARSER MOV_DEMUXER)                           += evc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, H264, MP4, H264_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)   += h264.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, HEVC, MP4, HEVC_PARSER EXTRACT_EXTRADATA_BSF MOV_DEMUXER)   += hevc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, MOV)                                                   += mv_hevc.mov
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MATROSKA, VVC_PARSER EXTRACT_EXTRADATA_BSF SETTS_BSF MATROSKA_DEMUXER)     += vvc.mkv
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, VVC, MP4, VVC_PARSER MOV_DEMUXER)                           += vvc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGG, VP3_DECODER THEORA_DECODER OGG_DEMUXER)      += vp3.ogg
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MATROSKA, OGV, VP8_DECODER VORBIS_DECODER VORBIS_PARSER OGG_DEMUXER)            += vp8.ogg
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV LOAS, LATM, AAC_LATM_DECODER)                                               += latm
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MP3, MP3)                                                   += mp3
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, MOV, MOV, QTRLE_DECODER MACE6_DECODER ARESAMPLE_FILTER)     += qtrle_mace6.mov
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, AVI, AVI, MSVIDEO1_DECODER PCM_U8_DECODER ARESAMPLE_FILTER) += cram.avi
-FATE_LAVF_CONTAINER_FATE-$(call DEMMUX, AVI, FLV, FLV_DEMUXER)                                      += hevc.flv
+FATE_LAVF_CONTAINER_FATE-$(call CRC, IVF, AV1,           AV1_PARSER EXTRACT_EXTRADATA_BSF MP4_MUXER)      += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call CRC, IVF MATROSKA, AV1,  AV1_PARSER EXTRACT_EXTRADATA_BSF MATROSKA_MUXER) += av1.mkv
+FATE_LAVF_CONTAINER_FATE-$(call CRC, EVC,,               EVC_PARSER MP4_MUXER) += evc.mp4
+FATE_LAVF_CONTAINER_FATE-$(call CRC, H264,,              H264_PARSER EXTRACT_EXTRADATA_BSF MP4_MUXER) += h264.mp4
+FATE_LAVF_CONTAINER_FATE-$(call CRC, HEVC,,              HEVC_PARSER EXTRACT_EXTRADATA_BSF MP4_MUXER) += hevc.mp4
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MOV,,               MOV_MUXER)   += mv_hevc.mov
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MATROSKA, VVC,      VVC_PARSER SETTS_BSF MATROSKA_MUXER)         += vvc.mkv
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MOV, VVC,           VVC_PARSER EXTRACT_EXTRADATA_BSF MP4_MUXER)  += vvc.mp4
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MATROSKA OGG, VP3 THEORA, OGG_MUXER)               += vp3.ogg
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MATROSKA OGG, VP8 VORBIS, VORBIS_PARSER OGV_MUXER) += vp8.ogg
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MOV LOAS, AAC_LATM, LATM_MUXER) += latm
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MP3,,               MP3_MUXER)  += mp3
+FATE_LAVF_CONTAINER_FATE-$(call CRC, MOV, QTRLE MACE6,         MOV_MUXER ARESAMPLE_FILTER) += qtrle_mace6.mov
+FATE_LAVF_CONTAINER_FATE-$(call CRC, AVI, MSVIDEO1 PCM_U8,     AVI_MUXER ARESAMPLE_FILTER) += cram.avi
+FATE_LAVF_CONTAINER_FATE-$(call CRC, AVI,,               FLV_DEMUXER FLV_MUXER)            += hevc.flv
 
 FATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
 
diff --git a/tests/fate/lavf-video.mak b/tests/fate/lavf-video.mak
index da3b114bc8..971a21d161 100644
--- a/tests/fate/lavf-video.mak
+++ b/tests/fate/lavf-video.mak
@@ -12,7 +12,7 @@ FATE_LAVF_VIDEO-$(call ENCDEC, WRAPPED_AVFRAME RAWVIDEO, YUV4MPEGPIPE) += y4m
 FATE_LAVF_VIDEO-$(CONFIG_SCALE_FILTER) += $(FATE_LAVF_VIDEO_SCALE-yes)
 FATE_LAVF_VIDEO = $(FATE_LAVF_VIDEO-yes:%=fate-lavf-%)
 FATE_LAVF_VIDEO := $(if $(call ALLYES, IMAGE2_DEMUXER PGMYUV_DECODER \
-                                       RAWVIDEO_ENCODER CRC_MUXER, PIPE_PROTOCOL), \
+                                       RAWVIDEO_ENCODER CRC_MUXER PIPE_PROTOCOL), \
                         $(FATE_LAVF_VIDEO))
 
 $(FATE_LAVF_VIDEO): CMD = lavf_video
diff --git a/tests/fate/libswresample.mak b/tests/fate/libswresample.mak
index aa4438a4bd..5317d4148d 100644
--- a/tests/fate/libswresample.mak
+++ b/tests/fate/libswresample.mak
@@ -1085,7 +1085,7 @@ $(call CROSS_TEST,$(SAMPLERATES_LITE),ARESAMPLE_EXACT_LIN_ASYNC,dblp,f64le,s16)
 FATE_SWR_RESAMPLE-$(call FILTERDEMDEC, ARESAMPLE ASETPTS ATRIM SINE, , PCM_S16LE, LAVFI_INDEV) += fate-swr-async-firstpts
 fate-swr-async-firstpts: CMD = framecrc -auto_conversion_filters -copyts -f lavfi -i "sine=r=1000:samples_per_frame=100,asetpts=PTS+S+S*floor(ld(1)/4)+st(1\,ld(1)+1)*0,atrim=end=2" -filter:a aresample=async=300:first_pts=0
 
-FATE_SWR_RESAMPLE-$(call FILTERDEMDECENCMUX, ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_SWR_RESAMPLE)
+FATE_SWR_RESAMPLE-$(call FILTERDEMDECENCMUX, ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV, PIPE_PROTOCOL) += $(FATE_SWR_RESAMPLE)
 fate-swr-resample: $(FATE_SWR_RESAMPLE-yes)
 FATE_SWR += $(FATE_SWR_RESAMPLE-yes)
 
diff --git a/tests/fate/lossless-audio.mak b/tests/fate/lossless-audio.mak
index 7c5af885b4..8be62b5244 100644
--- a/tests/fate/lossless-audio.mak
+++ b/tests/fate/lossless-audio.mak
@@ -16,13 +16,13 @@ fate-lossless-rka: CMD = md5 -i $(TARGET_SAMPLES)/lossless-audio/luckynight-part
 FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, OSQ, OSQ, ARESAMPLE_FILTER) += fate-lossless-osq
 fate-lossless-osq: CMD = md5 -i $(TARGET_SAMPLES)/lossless-audio/luckynight-partial.osq -f s16le -af aresample
 
-FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, TAK, TAK, ARESAMPLE_FILTER) += fate-lossless-tak
+FATE_SAMPLES_LOSSLESS_AUDIO-$(call CRC, TAK, TAK, ARESAMPLE_FILTER) += fate-lossless-tak
 fate-lossless-tak: CMD = crc -i $(TARGET_SAMPLES)/lossless-audio/luckynight-partial.tak -af aresample
 
-FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, TTA, TTA) += fate-lossless-tta
+FATE_SAMPLES_LOSSLESS_AUDIO-$(call CRC, TTA, TTA) += fate-lossless-tta
 fate-lossless-tta: CMD = crc -i $(TARGET_SAMPLES)/lossless-audio/inside.tta
 
-FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, TTA, TTA) += fate-lossless-tta-encrypted
+FATE_SAMPLES_LOSSLESS_AUDIO-$(call CRC, TTA, TTA) += fate-lossless-tta-encrypted
 fate-lossless-tta-encrypted: CMD = crc -password ffmpeg -i $(TARGET_SAMPLES)/lossless-audio/encrypted.tta
 
 FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, ASF, WMALOSSLESS, ARESAMPLE_FILTER) += fate-lossless-wma fate-lossless-wma24-1 fate-lossless-wma24-2 fate-lossless-wma24-rawtile
@@ -35,5 +35,5 @@ fate-lossless-wmall: fate-lossless-wma fate-lossless-wma24-1 fate-lossless-wma24
 FATE_SAMPLES_LOSSLESS_AUDIO += $(FATE_SAMPLES_LOSSLESS_AUDIO-yes)
 
 FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_LOSSLESS_AUDIO)
-fate-lossless-audio: $(FATE_SAMPLES_LOSSLESS_AUDIO)
 
+fate-lossless-audio: $(FATE_SAMPLES_LOSSLESS_AUDIO)
diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak
index 08e9614a67..5ef9bffccb 100644
--- a/tests/fate/matroska.mak
+++ b/tests/fate/matroska.mak
@@ -1,9 +1,9 @@
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER ZLIB) += fate-matroska-prores-zlib
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,, ZLIB) += fate-matroska-prores-zlib
 fate-matroska-prores-zlib: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/prores_zlib.mkv -c:v copy
 
 # This tests that the matroska demuxer correctly adds the icpf header atom
 # upon demuxing; it also tests bz2 decompression and unknown-length cluster.
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER BZLIB) += fate-matroska-prores-header-insertion-bz2
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,, BZLIB) += fate-matroska-prores-header-insertion-bz2
 fate-matroska-prores-header-insertion-bz2: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/prores_bz2.mkv -map 0 -c copy
 
 # This tests that the matroska demuxer supports modifying the colorspace
@@ -14,21 +14,21 @@ fate-matroska-remux: CMD = md5pipe -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-
 fate-matroska-remux: CMP = oneline
 fate-matroska-remux: REF = b9c7b650349972c9dce42ab79b472917
 
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER VORBIS_PARSER) += fate-matroska-xiph-lacing
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,,  VORBIS_PARSER) += fate-matroska-xiph-lacing
 fate-matroska-xiph-lacing: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/xiph_lacing.mka -c:a copy
 
 # This tests that the Matroska demuxer correctly demuxes WavPack
 # without CodecPrivate; it also tests zlib compressed WavPack.
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER ZLIB) += fate-matroska-wavpack-missing-codecprivate
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,,  ZLIB) += fate-matroska-wavpack-missing-codecprivate
 fate-matroska-wavpack-missing-codecprivate: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/wavpack_missing_codecprivate.mka -c copy
 
 # This tests that the matroska demuxer supports decompressing
 # zlib compressed tracks (both the CodecPrivate as well as the actual frames).
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER ZLIB) += fate-matroska-zlib-decompression
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,,  ZLIB) += fate-matroska-zlib-decompression
 fate-matroska-zlib-decompression: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/subtitle_zlib.mks -c:s copy
 
 # This tests that the matroska demuxer can decompress lzo compressed tracks.
-FATE_MATROSKA-$(CONFIG_MATROSKA_DEMUXER) += fate-matroska-lzo-decompression
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA) += fate-matroska-lzo-decompression
 fate-matroska-lzo-decompression: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/lzo.mka -c copy
 
 # This tests that the ALAC extradata is correctly transformed upon remuxing.
@@ -40,7 +40,7 @@ fate-matroska-alac-remux: CMD = transcode mov $(TARGET_SAMPLES)/lossless-audio/i
 # This tests that the matroska demuxer correctly propagates
 # the channel layout contained in vorbis comments in the CodecPrivate
 # of flac tracks. It also tests header removal compression.
-FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER FLAC_PARSER) += fate-matroska-flac-channel-mapping
+FATE_MATROSKA-$(call FRAMECRC, MATROSKA,, FLAC_PARSER) += fate-matroska-flac-channel-mapping
 fate-matroska-flac-channel-mapping: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/flac_channel_layouts.mka -map 0 -c:a copy
 
 # This tests that the Matroska muxer writes the channel layout
@@ -50,8 +50,7 @@ fate-matroska-flac-channel-mapping: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/flac
 # Furthermore it tests everything the matroska-flac-channel-mapping test
 # tests and it also tests the FLAC decoder and encoder, in particular
 # the latter's ability to send updated extradata.
-FATE_MATROSKA-$(call ALLYES, FLAC_DECODER FLAC_ENCODER FLAC_PARSER \
-                MATROSKA_DEMUXER MATROSKA_MUXER) += fate-matroska-flac-extradata-update
+FATE_MATROSKA-$(call TRANSCODE, FLAC, MATROSKA, FLAC_PARSER) += fate-matroska-flac-extradata-update
 fate-matroska-flac-extradata-update: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/flac_channel_layouts.mka \
                                            matroska "-map 0 -map 0:0 -c flac -frames:a:2 8" "-map 0 -c copy"
 
@@ -64,9 +63,8 @@ fate-webm-av1-extradata-update: CMD = transcode ivf $(TARGET_SAMPLES)/av1/decode
 # This test tests demuxing Vorbis and chapters from ogg and muxing it in and
 # demuxing it from Matroska/WebM. It furthermore tests the WebM muxer, in
 # particular its DASH mode. Finally, it tests writing the Cues at the front.
-FATE_MATROSKA_FFMPEG_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER OGG_DEMUXER  \
-                                 VORBIS_DECODER VORBIS_PARSER WEBM_MUXER) \
-                               += fate-webm-dash-chapters
+FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, WEBM MATROSKA, OGG_DEMUXER VORBIS_DECODER VORBIS_PARSER) \
+                                += fate-webm-dash-chapters
 fate-webm-dash-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapter_extension_demo.ogg webm "-c copy -cluster_time_limit 1500 -dash 1 -dash_track_number 124 -reserve_index_space 400" "-c copy -t 0.5" -show_chapters
 
 # The input file has a Block whose payload has a size of zero before reversing
@@ -75,7 +73,7 @@ fate-webm-dash-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_cha
 # For the muxer this tests that it can correctly write huge TrackNumbers and
 # that it can expand the Cues element's length field by one byte if necessary.
 # It furthermore tests correct propagation of the description tag.
-FATE_MATROSKA_FFMPEG_FFPROBE-$(call DEMMUX, MATROSKA, MATROSKA) \
+FATE_MATROSKA_FFMPEG_FFPROBE-$(call FRAMECRC, MATROSKA,, MATROSKA_MUXER) \
                                += fate-matroska-zero-length-block
 fate-matroska-zero-length-block: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/zero_length_block.mks matroska "-c:s copy -dash 1 -dash_track_number 2000000000 -reserve_index_space 62 -metadata_header_padding 1 -default_mode infer_no_subs" "-c:s copy" "-show_entries stream_tags=description"
 
diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak
index 15ca874c7f..8d8e92575a 100644
--- a/tests/fate/microsoft.mak
+++ b/tests/fate/microsoft.mak
@@ -47,7 +47,7 @@ fate-wmv3-drm-nodec: CMD = framecrc -cryptokey 137381538c84c068111902a59c5cf6c34
 FATE_MICROSOFT += $(FATE_WMV3_DRM-yes)
 fate-wmv3-drm: $(FATE_WMV3_DRM-yes)
 
-FATE_MICROSOFT-$(call DEMDEC, ASF, WMV2) += fate-wmv8-x8intra
+FATE_MICROSOFT-$(call FRAMECRC, ASF, WMV2) += fate-wmv8-x8intra
 fate-wmv8-x8intra: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/wmv8/wmv8_x8intra.wmv -an
 
 FATE_VC1 += fate-vc1_sa00040
diff --git a/tests/fate/monkeysaudio.mak b/tests/fate/monkeysaudio.mak
index 55d47b4539..eaca9005c8 100644
--- a/tests/fate/monkeysaudio.mak
+++ b/tests/fate/monkeysaudio.mak
@@ -19,5 +19,6 @@ fate-lossless-monkeysaudio-399: CMD = md5 -i $(TARGET_SAMPLES)/lossless-audio/lu
 FATE_APE += fate-lossless-monkeysaudio-legacy
 fate-lossless-monkeysaudio-legacy: CMD = md5 -i $(TARGET_SAMPLES)/lossless-audio/NoLegacy-cut.ape -f s32le -af aresample
 
-FATE_SAMPLES_FFMPEG-$(call DEMDEC, APE, APE, ARESAMPLE_FILTER) += $(FATE_APE)
+FATE_APE := $(if $(call CRC, APE, APE, ARESAMPLE_FILTER), $(FATE_APE))
+FATE_SAMPLES_FFMPEG += $(FATE_APE)
 fate-lossless-monkeysaudio: $(FATE_APE)
diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index 8d4077da66..7f6cae487a 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -185,19 +185,19 @@ fate-mov-heic-demux-clap-irot-imir: CMD = stream_demux mov $(TARGET_SAMPLES)/hei
   "-show_entries stream=index,id:stream_disposition:stream_side_data_list"
 
 # heic demuxing - still image with multiple items in a grid.
-FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER) \
                            += fate-mov-heic-demux-still-image-grid
 fate-mov-heic-demux-still-image-grid: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C007.heic "" "-c:v copy -map 0:g:0" \
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
 # heic demuxing - still image with multiple items in an overlay canvas.
-FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER) \
                            += fate-mov-heic-demux-still-image-iovl
 fate-mov-heic-demux-still-image-iovl: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C015.heic "" "-c:v copy -map 0:g:0" \
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
 # heic demuxing - still image where one image item is placed twice on an overlay canvas.
-FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER) \
                            += fate-mov-heic-demux-still-image-iovl-2
 fate-mov-heic-demux-still-image-iovl-2: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C021.heic "" "-c:v copy -map 0:g:0" \
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
diff --git a/tests/fate/mp3.mak b/tests/fate/mp3.mak
index 638ff63264..145ce72a6e 100644
--- a/tests/fate/mp3.mak
+++ b/tests/fate/mp3.mak
@@ -36,7 +36,7 @@ $(FATE_MP3): FUZZ = 18
 
 fate-mp3-float-extra_overread: FUZZ = 23
 
-FATE_MP3-$(call DEMDEC, MP3, MP3FLOAT, ARESAMPLE_FILTER) += $(FATE_MP3)
+FATE_MP3-$(call DEMDEC, MP3, MP3FLOAT, ARESAMPLE_FILTER PIPE_PROTOCOL) += $(FATE_MP3)
 
 FATE_SAMPLES_AVCONV += $(FATE_MP3-yes)
 fate-mp3: $(FATE_MP3-yes)
diff --git a/tests/fate/mpc.mak b/tests/fate/mpc.mak
index 1a034da197..7c194c268d 100644
--- a/tests/fate/mpc.mak
+++ b/tests/fate/mpc.mak
@@ -1,10 +1,10 @@
-FATE_MPC-$(CONFIG_MPC_DEMUXER) += fate-mpc7-demux
+FATE_MPC-$(call CRC, MPC) += fate-mpc7-demux
 fate-mpc7-demux: CMD = crc -i $(TARGET_SAMPLES)/musepack/inside-mp7.mpc -c:a copy
 
-FATE_MPC-$(CONFIG_MPC8_DEMUXER) += fate-mpc8-demux
+FATE_MPC-$(call CRC, MPC) += fate-mpc8-demux
 fate-mpc8-demux: CMD = crc -i $(TARGET_SAMPLES)/musepack/inside-mp8.mpc -c:a copy
 
-FATE_MPC-$(call DEMDEC, MPC, MPC7, ARESAMPLE_FILTER) += fate-musepack7
+FATE_MPC-$(call PCM, MPC, MPC7, ARESAMPLE_FILTER) += fate-musepack7
 fate-musepack7: CMD = pcm -i $(TARGET_SAMPLES)/musepack/inside-mp7.mpc
 fate-musepack7: CMP = oneoff
 fate-musepack7: REF = $(SAMPLES)/musepack/inside-mp7.pcm
diff --git a/tests/fate/mpegps.mak b/tests/fate/mpegps.mak
index 43cd2aa22b..a6114b1a8a 100644
--- a/tests/fate/mpegps.mak
+++ b/tests/fate/mpegps.mak
@@ -1,5 +1,5 @@
 # This tests that a 16-bit pcm_dvd stream is correctly remuxed in mpegps
-FATE_MPEGPS-$(call DEMMUX, MPEGPS, MPEG1SYSTEM) += fate-mpegps-remuxed-pcm-demux
+FATE_MPEGPS-$(call REMUX, MPEG1SYSTEM MPEGPS) += fate-mpegps-remuxed-pcm-demux
 fate-mpegps-remuxed-pcm-demux: $(SAMPLES)/mpegps/pcm_aud.mpg
 fate-mpegps-remuxed-pcm-demux: CMD = stream_remux "mpeg" "$(TARGET_SAMPLES)/mpegps/pcm_aud.mpg" "" "mpeg" "-map 0:a:0" "" "-codec copy"
 
diff --git a/tests/fate/oma.mak b/tests/fate/oma.mak
index 8f872242f4..cf670a69bb 100644
--- a/tests/fate/oma.mak
+++ b/tests/fate/oma.mak
@@ -1,4 +1,4 @@
-FATE_OMA_FFMPEG-$(call ALLYES, OMA_DEMUXER CRC_MUXER) += fate-oma-demux
+FATE_OMA_FFMPEG-$(call CRC, OMA) += fate-oma-demux
 fate-oma-demux: CMD = crc -i $(TARGET_SAMPLES)/oma/01-Untitled-partial.oma -c:a copy
 
 # Also tests splitting and joining the date into TYER and TDAT id3v2.3 tags.
diff --git a/tests/fate/pcm.mak b/tests/fate/pcm.mak
index fe432b0852..b4e405d58b 100644
--- a/tests/fate/pcm.mak
+++ b/tests/fate/pcm.mak
@@ -1,10 +1,10 @@
 FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE PCM_U8, PCM_S16LE WAV, ARESAMPLE_FILTER) += fate-iff-pcm
 fate-iff-pcm: CMD = md5 -i $(TARGET_SAMPLES)/iff/Bells -f s16le -af aresample
 
-FATE_SAMPLES_PCM-$(call DEMDEC, MPEGPS, PCM_DVD, ARESAMPLE_FILTER) += fate-pcm_dvd
+FATE_SAMPLES_PCM-$(call FRAMECRC, MPEGPS, PCM_DVD, ARESAMPLE_FILTER) += fate-pcm_dvd
 fate-pcm_dvd: CMD = framecrc -i $(TARGET_SAMPLES)/pcm-dvd/coolitnow-partial.vob -vn -af aresample
 
-FATE_SAMPLES_PCM-$(call DEMDEC, EA, PCM_S16LE_PLANAR, ARESAMPLE_FILTER) += fate-pcm-planar
+FATE_SAMPLES_PCM-$(call FRAMECRC, EA, PCM_S16LE_PLANAR, ARESAMPLE_FILTER) += fate-pcm-planar
 fate-pcm-planar: CMD = framecrc -i $(TARGET_SAMPLES)/ea-mad/xeasport.mad -vn -af aresample
 
 FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16BE, PCM_S16LE_MUXER) += fate-pcm_s16be-stereo
@@ -19,10 +19,11 @@ fate-pcm_u8-mono: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-1-8-raw.mo
 FATE_SAMPLES_PCM-$(call TRANSCODE, PCM_S16LE PCM_U8, PCM_S16LE MOV, ARESAMPLE_FILTER) += fate-pcm_u8-stereo
 fate-pcm_u8-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-8-raw.mov -f s16le -af aresample
 
-FATE_SAMPLES_PCM-$(call DEMDEC, W64, PCM_S16LE) += fate-w64
+FATE_SAMPLES_PCM-$(call CRC, W64, PCM_S16LE) += fate-w64
 fate-w64: CMD = crc -i $(TARGET_SAMPLES)/w64/w64-pcm16.w64
 
-FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD, WAV_DEMUXER FILE_PROTOCOL) += fate-dcinema-encode
+FATE_DCINEMA_ENCODE-$(call FRAMEMD5) := fate-dcinema-encode
+FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD, WAV_DEMUXER) += $(FATE_DCINEMA_ENCODE-yes)
 fate-dcinema-encode: tests/data/asynth-96000-6.wav
 fate-dcinema-encode: SRC = tests/data/asynth-96000-6.wav
 fate-dcinema-encode: CMD = enc_dec_pcm daud framemd5 s16le $(SRC) -c:a pcm_s24daud -frames:a 20
diff --git a/tests/fate/qoa.mak b/tests/fate/qoa.mak
index 2e20ee5ee1..f0868e7825 100644
--- a/tests/fate/qoa.mak
+++ b/tests/fate/qoa.mak
@@ -1,10 +1,10 @@
-FATE_QOA-$(call DEMDEC, QOA, QOA) += fate-qoa-152
+FATE_QOA-$(call FRAMECRC, QOA, QOA) += fate-qoa-152
 fate-qoa-152: CMD = framecrc -i $(TARGET_SAMPLES)/qoa/coin_48_1_152.qoa
 
-FATE_QOA-$(call DEMDEC, QOA, QOA) += fate-qoa-278
+FATE_QOA-$(call FRAMECRC, QOA, QOA) += fate-qoa-278
 fate-qoa-278: CMD = framecrc -i $(TARGET_SAMPLES)/qoa/vibra_44_2_278.qoa
 
-FATE_QOA-$(call DEMDEC, QOA, QOA) += fate-qoa-303
+FATE_QOA-$(call FRAMECRC, QOA, QOA) += fate-qoa-303
 fate-qoa-303: CMD = framecrc -i $(TARGET_SAMPLES)/qoa/banjo_48_2_303.qoa
 
 fate-qoa: fate-qoa-152 fate-qoa-278 fate-qoa-303
diff --git a/tests/fate/real.mak b/tests/fate/real.mak
index 13ceab7adf..1935619d1b 100644
--- a/tests/fate/real.mak
+++ b/tests/fate/real.mak
@@ -1,4 +1,4 @@
-FATE_REALAUDIO-$(call DEMDEC, RM, RA_144) += fate-ra3-144
+FATE_REALAUDIO-$(call FRAMECRC, RM, RA_144) += fate-ra3-144
 fate-ra3-144: CMD = framecrc -i $(TARGET_SAMPLES)/realaudio/ra3.ra
 
 #FATE_REALAUDIO-$(call DEMDEC, RM, RA_288) += fate-ra4-288
@@ -6,27 +6,27 @@ fate-ra4-288: CMD = pcm -i $(TARGET_SAMPLES)/realaudio/ra4_288.ra
 fate-ra4-288: REF = $(SAMPLES)/realaudio/ra4_288.pcm
 fate-ra4-288: CMP = oneoff
 
-FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, RA_144) += fate-ra-144
+FATE_REALMEDIA_AUDIO-$(call PCM, RM, RA_144) += fate-ra-144
 fate-ra-144: CMD = md5 -i $(TARGET_SAMPLES)/real/ra3_in_rm_file.rm -f s16le
 
-FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, RA_288, ARESAMPLE_FILTER) += fate-ra-288
+FATE_REALMEDIA_AUDIO-$(call PCM, RM, RA_288, ARESAMPLE_FILTER) += fate-ra-288
 fate-ra-288: CMD = pcm -i $(TARGET_SAMPLES)/real/ra_288.rm
 fate-ra-288: CMP = oneoff
 fate-ra-288: REF = $(SAMPLES)/real/ra_288.pcm
 fate-ra-288: FUZZ = 2
 
-FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, COOK, ARESAMPLE_FILTER) += fate-ra-cook
+FATE_REALMEDIA_AUDIO-$(call PCM, RM, COOK, ARESAMPLE_FILTER) += fate-ra-cook
 fate-ra-cook: CMD = pcm -i $(TARGET_SAMPLES)/real/ra_cook.rm
 fate-ra-cook: CMP = oneoff
 fate-ra-cook: REF = $(SAMPLES)/real/ra_cook.pcm
 
-FATE_REALMEDIA_VIDEO-$(call DEMDEC, RM, RV20) += fate-rv20-1239
+FATE_REALMEDIA_VIDEO-$(call FRAMECRC, RM, RV20) += fate-rv20-1239
 fate-rv20-1239: CMD = framecrc -flags +bitexact -idct simple -lowres 1 -i $(TARGET_SAMPLES)/real/G2_with_SVT_320_240.rm
 
-FATE_REALMEDIA_VIDEO-$(call DEMDEC, RM, RV30) += fate-rv30
+FATE_REALMEDIA_VIDEO-$(call FRAMECRC, RM, RV30) += fate-rv30
 fate-rv30: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/real/rv30.rm -an
 
-FATE_REALMEDIA_VIDEO-$(call DEMDEC, RM, RV40) += fate-rv40
+FATE_REALMEDIA_VIDEO-$(call FRAMECRC, RM, RV40) += fate-rv40
 fate-rv40: CMD = framecrc -i $(TARGET_SAMPLES)/real/spygames-2MB.rmvb -t 10 -an
 
 FATE_SIPR += fate-sipr-5k0
@@ -48,7 +48,7 @@ fate-sipr-16k: SIZE_TOLERANCE = 40000
 
 $(FATE_SIPR): CMP = oneoff
 
-FATE_REALMEDIA_AUDIO-$(call DEMDEC, RM, SIPR, ARESAMPLE_FILTER) += $(FATE_SIPR)
+FATE_REALMEDIA_AUDIO-$(call PCM, RM, SIPR, ARESAMPLE_FILTER) += $(FATE_SIPR)
 fate-sipr: $(FATE_SIPR)
 
 fate-realaudio: $(FATE_REALAUDIO-yes)
diff --git a/tests/fate/segment.mak b/tests/fate/segment.mak
index cd906ad57a..343af73b10 100644
--- a/tests/fate/segment.mak
+++ b/tests/fate/segment.mak
@@ -35,20 +35,20 @@ tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data
 FATE_SEGMENT += fate-segment-mp4-to-ts
 fate-segment-mp4-to-ts: tests/data/mp4-to-ts.m3u8
 fate-segment-mp4-to-ts: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/mp4-to-ts.m3u8 -c copy
-FATE_SEGMENT-$(call DEMDEC, MOV HLS MATROSKA, H264, H264_PARSER H264_MP4TOANNEXB_BSF MPEGTS_MUXER STREAM_SEGMENT_MUXER EXTRACT_EXTRADATA_BSF) += fate-segment-mp4-to-ts
+FATE_SEGMENT-$(call FRAMECRC, MOV HLS MATROSKA, H264, H264_PARSER H264_MP4TOANNEXB_BSF MPEGTS_MUXER STREAM_SEGMENT_MUXER EXTRACT_EXTRADATA_BSF) += fate-segment-mp4-to-ts
 
 FATE_SEGMENT += fate-segment-adts-to-mkv
 fate-segment-adts-to-mkv: tests/data/adts-to-mkv.m3u8
 fate-segment-adts-to-mkv: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/adts-to-mkv.m3u8 -c copy
 fate-segment-adts-to-mkv: REF = $(SRC_PATH)/tests/ref/fate/segment-adts-to-mkv-header-all
-FATE_SEGMENT-$(call DEMDEC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += fate-segment-adts-to-mkv
+FATE_SEGMENT-$(call FRAMECRC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += fate-segment-adts-to-mkv
 
 FATE_SEGMENT_ALLPARTS = $(FATE_SEGMENT_PARTS)
 FATE_SEGMENT_ALLPARTS += all
 FATE_SEGMENT_SPLIT += $(FATE_SEGMENT_ALLPARTS:%=fate-segment-adts-to-mkv-header-%)
 $(foreach N,$(FATE_SEGMENT_ALLPARTS),$(eval $(N:%=fate-segment-adts-to-mkv-header-%): tests/data/adts-to-mkv-cated-$(N).mkv))
 fate-segment-adts-to-mkv-header-%: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/$(@:fate-segment-adts-to-mkv-header-%=adts-to-mkv-cated-%).mkv -c copy
-FATE_SEGMENT-$(call DEMDEC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += $(FATE_SEGMENT_SPLIT)
+FATE_SEGMENT-$(call FRAMECRC, AAC HLS MATROSKA, AAC, AAC_ADTSTOASC_BSF MATROSKA_MUXER SEGMENT_MUXER) += $(FATE_SEGMENT_SPLIT)
 
 FATE_SAMPLES_FFMPEG += $(FATE_SEGMENT-yes)
 
diff --git a/tests/fate/subtitles.mak b/tests/fate/subtitles.mak
index fa0c09fc9c..6aef4090d9 100644
--- a/tests/fate/subtitles.mak
+++ b/tests/fate/subtitles.mak
@@ -124,7 +124,7 @@ fate-sub-rcwt: CMD = md5 -i $(TARGET_SAMPLES)/sub/witch.scc -map 0 -c copy -f rc
 fate-sub-rcwt: CMP = oneline
 fate-sub-rcwt: REF = d86f179094a5752d68aa97d82cf887b0
 
-FATE_SUBTITLES-$(call ALLYES, MPEGTS_DEMUXER DVBSUB_DECODER DVBSUB_ENCODER) += fate-sub-dvb
+FATE_SUBTITLES-$(call FRAMECRC, MPEGTS, DVBSUB, DVBSUB_ENCODER) += fate-sub-dvb
 fate-sub-dvb: CMD = framecrc -i $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts -map s:0 -c dvbsub
 
 FATE_SUBTITLES-$(call ALLYES, PIPE_PROTOCOL SRT_DEMUXER SUBRIP_DECODER TTML_ENCODER TTML_MUXER) += fate-sub-ttmlenc
@@ -132,6 +132,7 @@ fate-sub-ttmlenc: CMD = fmtstdout ttml -i $(TARGET_SAMPLES)/sub/SubRip_capabilit
 
 FATE_SUBTITLES-$(call ENCMUX, ASS, ASS) += $(FATE_SUBTITLES_ASS-yes)
 FATE_SUBTITLES += $(FATE_SUBTITLES-yes)
+FATE_SUBTITLES := $(if $(CONFIG_PIPE_PROTOCOL), $(FATE_SUBTITLES))
 
 fate-sub-%: CMP = rawdiff
 
diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index 450416d7b4..ba01b7438b 100644
--- a/tests/fate/video.mak
+++ b/tests/fate/video.mak
@@ -292,7 +292,7 @@ fate-nuv-rtjpeg: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/nuv/Today.nuv
 FATE_NUV += fate-nuv-rtjpeg-fh
 fate-nuv-rtjpeg-fh: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/nuv/rtjpeg_frameheader.nuv -an
 
-FATE_VIDEO-$(call DEMDEC, NUV, NUV) += $(FATE_NUV)
+FATE_VIDEO-$(call FRAMECRC, NUV, NUV) += $(FATE_NUV)
 fate-nuv: $(FATE_NUV)
 
 FATE_VIDEO-$(call FRAMECRC, PAF, PAF_VIDEO, SCALE_FILTER) += fate-paf-video
diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak
index 84eb83e07f..945b8624ac 100644
--- a/tests/fate/voice.mak
+++ b/tests/fate/voice.mak
@@ -1,7 +1,7 @@
-FATE_G722-$(call DEMDEC, G722, ADPCM_G722) += fate-g722dec-1
+FATE_G722-$(call FRAMECRC, G722, ADPCM_G722) += fate-g722dec-1
 fate-g722dec-1: CMD = framecrc -i $(TARGET_SAMPLES)/g722/conf-adminmenu-162.g722
 
-FATE_G722-$(call TRANSCODE, ADPCM_G722, WAV, PCM_S16LE_DECODER) += fate-g722-encode
+FATE_G722-$(call FRAMEMD5, WAV, ADPCM_G722, WAV_MUXER ADPCM_G722_ENCODER PCM_S16LE_DECODER) += fate-g722-encode
 fate-g722-encode: tests/data/asynth-16000-1.wav
 fate-g722-encode: SRC = tests/data/asynth-16000-1.wav
 fate-g722-encode: CMD = enc_dec_pcm wav framemd5 s16le $(SRC) -c:a g722
@@ -33,7 +33,7 @@ fate-g723_1-dec-7: CMD = framecrc -postfilter 1 -i $(TARGET_SAMPLES)/g723_1/dtx6
 FATE_G723_1 += fate-g723_1-dec-8
 fate-g723_1-dec-8: CMD = framecrc -postfilter 1 -i $(TARGET_SAMPLES)/g723_1/dtx63e.tco -af aresample
 
-FATE_VOICE-$(call DEMDEC, G723_1, G723_1, ARESAMPLE_FILTER) += $(FATE_G723_1)
+FATE_VOICE-$(call FRAMECRC, G723_1, G723_1, ARESAMPLE_FILTER) += $(FATE_G723_1)
 fate-g723_1: $(FATE_G723_1)
 
 FATE_G726 += fate-g726-encode-2bit
@@ -51,24 +51,24 @@ fate-g726-encode-5bit: CMD = enc_dec_pcm wav framemd5 s16le $(SRC) -c:a g726 -b:
 $(FATE_G726): tests/data/asynth-8000-1.wav
 $(FATE_G726): SRC = tests/data/asynth-8000-1.wav
 
-FATE_VOICE-$(call TRANSCODE, ADPCM_G726, WAV, PCM_S16LE_DECODER) += $(FATE_G726)
+FATE_VOICE-$(call FRAMEMD5, WAV, ADPCM_G726, WAV_MUXER ADPCM_G726_ENCODER PCM_S16LE_DECODER) += $(FATE_G726)
 fate-g726: $(FATE_G726)
 
-FATE_GSM-$(call DEMDEC, WAV, GSM) += fate-gsm-ms
+FATE_GSM-$(call FRAMECRC, WAV, GSM) += fate-gsm-ms
 fate-gsm-ms: CMD = framecrc -i $(TARGET_SAMPLES)/gsm/ciao.wav
 
-FATE_GSM-$(call DEMDEC, MOV, GSM) += fate-gsm-toast
+FATE_GSM-$(call FRAMECRC, MOV, GSM) += fate-gsm-toast
 fate-gsm-toast: CMD = framecrc -i $(TARGET_SAMPLES)/gsm/sample-gsm-8000.mov -t 10
 
 FATE_VOICE-yes += $(FATE_GSM-yes)
 fate-gsm: $(FATE_GSM-yes)
 
-FATE_VOICE-$(call DEMDEC, QCP, QCELP, ARESAMPLE_FILTER) += fate-qcelp
+FATE_VOICE-$(call PCM, QCP, QCELP, ARESAMPLE_FILTER) += fate-qcelp
 fate-qcelp: CMD = pcm -i $(TARGET_SAMPLES)/qcp/0036580847.QCP
 fate-qcelp: CMP = oneoff
 fate-qcelp: REF = $(SAMPLES)/qcp/0036580847.pcm
 
-FATE_VOICE-$(call DEMDEC, WAV, TRUESPEECH) += fate-truespeech
+FATE_VOICE-$(call PCM, WAV, TRUESPEECH) += fate-truespeech
 fate-truespeech: CMD = pcm -i $(TARGET_SAMPLES)/truespeech/a6.wav
 fate-truespeech: CMP = oneoff
 fate-truespeech: REF = $(SAMPLES)/truespeech/a6.pcm
diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 2c03f6b598..9c52fc4898 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -144,7 +144,7 @@ fate-vp9-05-resize: REF = $(SRC_PATH)/tests/ref/fate/vp9-05-resize
 fate-vp9-encparams: CMD = venc_data $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-segmentation-aq-akiyo.webm 0 5
 FATE_SAMPLES_DUMP_DATA-$(call DEMDEC, MATROSKA, VP9) += fate-vp9-encparams
 
-FATE_VP9-$(call ALLYES, MATROSKA_DEMUXER VP9_PARSER VP9_SUPERFRAME_SPLIT_BSF \
+FATE_VP9-$(call FRAMECRC, MATROSKA,, VP9_PARSER VP9_SUPERFRAME_SPLIT_BSF \
                         VP9_SUPERFRAME_BSF FRAMECRC_MUXER) += fate-vp9-superframe-bsf
 fate-vp9-superframe-bsf: CMD = framecrc -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-segmentation-sf-akiyo.webm -c:v copy -bsf:v vp9_superframe_split,vp9_superframe
 
diff --git a/tests/fate/vqf.mak b/tests/fate/vqf.mak
index ccdbe50033..16db9c828a 100644
--- a/tests/fate/vqf.mak
+++ b/tests/fate/vqf.mak
@@ -1,9 +1,9 @@
-FATE_VQF-$(call DEMDEC, VQF, TWINVQ, ARESAMPLE_FILTER) += fate-twinvq
+FATE_VQF-$(call PCM, VQF, TWINVQ, ARESAMPLE_FILTER) += fate-twinvq
 fate-twinvq: CMD = pcm -i $(TARGET_SAMPLES)/vqf/achterba.vqf
 fate-twinvq: CMP = oneoff
 fate-twinvq: REF = $(SAMPLES)/vqf/achterba.pcm
 
-FATE_VQF-$(CONFIG_VQF_DEMUXER) += fate-vqf-demux
+FATE_VQF-$(call FRAMECRC, VQF) += fate-vqf-demux
 fate-vqf-demux: CMD = md5 -i $(TARGET_SAMPLES)/vqf/achterba.vqf -c:a copy -flags bitexact -fflags +bitexact -f framecrc
 
 FATE_VQF += $(FATE_VQF-yes)
diff --git a/tests/fate/wma.mak b/tests/fate/wma.mak
index ed29edae3a..62914c84dd 100644
--- a/tests/fate/wma.mak
+++ b/tests/fate/wma.mak
@@ -1,14 +1,14 @@
-FATE_WMAPRO-$(call DEMDEC, ASF, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-2ch
+FATE_WMAPRO-$(call PCM, ASF, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-2ch
 fate-wmapro-2ch: CMD = pcm -i $(TARGET_SAMPLES)/wmapro/Beethovens_9th-1_small.wma -frames 43
 fate-wmapro-2ch: REF = $(SAMPLES)/wmapro/Beethovens_9th-1_small.pcm
 fate-wmapro-2ch: SIZE_TOLERANCE = 8192
 
-FATE_WMAPRO-$(call DEMDEC, ASF, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-5.1
+FATE_WMAPRO-$(call PCM, ASF, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-5.1
 fate-wmapro-5.1: CMD = pcm -i $(TARGET_SAMPLES)/wmapro/latin_192_mulitchannel_cut.wma -frames 101
 fate-wmapro-5.1: REF = $(SAMPLES)/wmapro/latin_192_mulitchannel_cut.pcm
 fate-wmapro-5.1: SIZE_TOLERANCE = 24576
 
-FATE_WMAPRO-$(call DEMDEC, MOV, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-ism
+FATE_WMAPRO-$(call PCM, MOV, WMAPRO, ARESAMPLE_FILTER) += fate-wmapro-ism
 fate-wmapro-ism: CMD = pcm -i $(TARGET_SAMPLES)/isom/vc1-wmapro.ism -vn
 fate-wmapro-ism: REF = $(SAMPLES)/isom/vc1-wmapro.pcm
 fate-wmapro-ism: SIZE_TOLERANCE = 4784
@@ -18,19 +18,19 @@ $(FATE_WMAPRO-yes): CMP = oneoff
 FATE_SAMPLES_AVCONV += $(FATE_WMAPRO-yes)
 fate-wmapro: $(FATE_WMAPRO-yes)
 
-FATE_WMAVOICE-$(call DEMDEC, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-7k
+FATE_WMAVOICE-$(call PCM, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-7k
 fate-wmavoice-7k: CMD = pcm -i $(TARGET_SAMPLES)/wmavoice/streaming_CBR-7K.wma
 fate-wmavoice-7k: REF = $(SAMPLES)/wmavoice/streaming_CBR-7K_ref.pcm
 fate-wmavoice-7k: CMP_TARGET = 1368.61
 fate-wmavoice-7k: FUZZ = 3
 
-FATE_WMAVOICE-$(call DEMDEC, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-11k
+FATE_WMAVOICE-$(call PCM, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-11k
 fate-wmavoice-11k: CMD = pcm -i $(TARGET_SAMPLES)/wmavoice/streaming_CBR-11K.wma
 fate-wmavoice-11k: REF = $(SAMPLES)/wmavoice/streaming_CBR-11K_ref.pcm
 fate-wmavoice-11k: CMP_TARGET = 965.24
 fate-wmavoice-11k: FUZZ = 3
 
-FATE_WMAVOICE-$(call DEMDEC, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-19k
+FATE_WMAVOICE-$(call PCM, ASF, WMAVOICE, ARESAMPLE_FILTER) += fate-wmavoice-19k
 fate-wmavoice-19k: CMD = pcm -i $(TARGET_SAMPLES)/wmavoice/streaming_CBR-19K.wma
 fate-wmavoice-19k: REF = $(SAMPLES)/wmavoice/streaming_CBR-19K_ref.pcm
 fate-wmavoice-19k: CMP_TARGET = 689.33
@@ -41,13 +41,13 @@ $(FATE_WMAVOICE-yes): CMP = stddev
 FATE_SAMPLES_AVCONV += $(FATE_WMAVOICE-yes)
 fate-wmavoice: $(FATE_WMAVOICE-yes)
 
-FATE_WMA_ENCODE-$(call ENCDEC, WMAV1, ASF, ARESAMPLE_FILTER) += fate-wmav1-encode
+FATE_WMA_ENCODE-$(call ENCDEC, WMAV1, ASF, ARESAMPLE_FILTER PIPE_PROTOCOL) += fate-wmav1-encode
 fate-wmav1-encode: CMD = enc_dec_pcm asf wav s16le $(subst $(SAMPLES),$(TARGET_SAMPLES),$(REF)) -c:a wmav1 -b:a 128k
 fate-wmav1-encode: CMP_SHIFT = 8192
 fate-wmav1-encode: CMP_TARGET = 299.99
 fate-wmav1-encode: SIZE_TOLERANCE = 4632
 
-FATE_WMA_ENCODE-$(call ENCDEC, WMAV2, ASF, ARESAMPLE_FILTER) += fate-wmav2-encode
+FATE_WMA_ENCODE-$(call ENCDEC, WMAV2, ASF, ARESAMPLE_FILTER PIPE_PROTOCOL) += fate-wmav2-encode
 fate-wmav2-encode: CMD = enc_dec_pcm asf wav s16le $(subst $(SAMPLES),$(TARGET_SAMPLES),$(REF)) -c:a wmav2 -b:a 128k
 fate-wmav2-encode: CMP_SHIFT = 8192
 fate-wmav2-encode: CMP_TARGET = 267.92
diff --git a/tests/fate/xvid.mak b/tests/fate/xvid.mak
index 68e75b1139..6461d8dbac 100644
--- a/tests/fate/xvid.mak
+++ b/tests/fate/xvid.mak
@@ -1,7 +1,7 @@
 fate-xvid-custom-matrix: CMD = framemd5 -flags +bitexact -idct simple  -i $(TARGET_SAMPLES)/mpeg4/xvid_vlc_trac7411.h263
 fate-xvid-idct:          CMD = framemd5 -flags +bitexact -cpuflags all -i $(TARGET_SAMPLES)/mpeg4/xvid_vlc_trac7411.h263
 
-FATE_XVID-$(call DEMDEC, M4V, MPEG4, MPEG4VIDEO_PARSER) += fate-xvid-custom-matrix fate-xvid-idct
+FATE_XVID-$(call FRAMEMD5, M4V, MPEG4, MPEG4VIDEO_PARSER) += fate-xvid-custom-matrix fate-xvid-idct
 
 FATE_SAMPLES_AVCONV += $(FATE_XVID-yes)
 
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

* [FFmpeg-devel] [PATCH v2 20/20] libavcodec/tests: fix gitignore hashtable
  2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
                   ` (18 preceding siblings ...)
  2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 19/20] fate/all: add missing crc/framecrc/md5/framemd5/pipe dependencies Nicolas Gaullier
@ 2025-06-23 17:41 ` Nicolas Gaullier
  19 siblings, 0 replies; 21+ messages in thread
From: Nicolas Gaullier @ 2025-06-23 17:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 libavcodec/tests/.gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/tests/.gitignore b/libavcodec/tests/.gitignore
index 29020a5945..6bd9b31b56 100644
--- a/libavcodec/tests/.gitignore
+++ b/libavcodec/tests/.gitignore
@@ -9,6 +9,7 @@
 /codec_desc
 /dct
 /golomb
+/hashtable
 /h264_levels
 /h265_levels
 /htmlsubtitles
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

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

end of thread, other threads:[~2025-06-23 17:47 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-23 17:41 [FFmpeg-devel] [PATCH v2 00/20] fate: fix several dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 01/20] tests/Makefile: make easier to check for multiple dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 02/20] fate/all: add missing dependencies for extradata bsf Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 03/20] fate/demux: fix multiple dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 04/20] fate/all: switch-fix mov muxer dependency to mp4 muxer dependency Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 05/20] fate/mov: fix multiple dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 06/20] fate/gapless: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 07/20] fate/lavf-container: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 08/20] fate/vorbis: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 09/20] fate/aac: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 10/20] fate/audio: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 11/20] fate/ac3: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 12/20] fate/cover-art: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 13/20] fate/hlsenc: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 14/20] fate/mpeg4: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 15/20] fate/pcm: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 16/20] fate/hevc: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 17/20] fate/all: " Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 18/20] fate/all: add missing file protocol dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 19/20] fate/all: add missing crc/framecrc/md5/framemd5/pipe dependencies Nicolas Gaullier
2025-06-23 17:41 ` [FFmpeg-devel] [PATCH v2 20/20] libavcodec/tests: fix gitignore hashtable Nicolas Gaullier

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