PR #23593 opened by Kacper Michajłow (kasper93) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23593 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23593.patch
From a28f7d755c34115568bb221985bc248c1890b248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <[email protected]> Date: Thu, 25 Jun 2026 00:55:21 +0200 Subject: [PATCH 1/2] Makefile: create output directories during the makefile parse phase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Output directories were created by a rule, with the relevant targets carrying them as order-only prerequisites. Under parallel make this still raced: intermediate resource targets such as fftools/resources/graph.css.min and graph.html.gz reach their recipes without carrying the directory as a prerequisite, so the shell redirect into the not-yet-created directory fails: /bin/sh: cannot create fftools/resources/graph.css.min: Directory nonexistent make: *** [ffbuild/common.mak:145: fftools/resources/graph.css.min] Error 2 Create every output directory while the makefile is parsed instead, so all of them exist before the first recipe runs and the race is no longer possible. Reported-by: Alexander Kanavin <[email protected]> Co-Authored-By: Ramiro Polla <[email protected]> Signed-off-by: Kacper Michajłow <[email protected]> --- Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ca55556cee..d2302826c1 100644 --- a/Makefile +++ b/Makefile @@ -208,8 +208,11 @@ check: all alltools examples testprogs fate include $(SRC_PATH)/tests/Makefile -$(sort $(OUTDIRS)): - $(Q)mkdir -p $@ +# Create all output directories during the parse phase, before any target is +# built. Doing it here rather than via a rule guarantees the directories exist +# before the first recipe runs, avoiding races between directory creation and +# the rules that write into them under parallel make. +$(foreach dir,$(sort $(OUTDIRS)),$(if $(wildcard $(dir)),,$(shell mkdir -p $(dir)))) # Dummy rule to stop make trying to rebuild removed or renamed headers %.h: -- 2.52.0 From 9204c9be292cb69241701de02c31d8d4296edb45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <[email protected]> Date: Thu, 25 Jun 2026 01:01:46 +0200 Subject: [PATCH 2/2] Makefile: drop now-redundant order-only directory prerequisites MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kacper Michajłow <[email protected]> --- doc/Makefile | 2 -- doc/examples/Makefile | 1 - ffbuild/common.mak | 8 -------- ffbuild/library.mak | 4 ++-- fftools/Makefile | 3 +-- tests/Makefile | 22 ++++++++++----------- tests/api/Makefile | 1 - tests/checkasm/Makefile | 1 - tests/fate/dashenc.mak | 2 +- tests/fate/demux.mak | 4 ++-- tests/fate/ffmpeg.mak | 2 +- tests/fate/ffprobe.mak | 2 +- tests/fate/filter-audio.mak | 4 ++-- tests/fate/filter-video.mak | 2 +- tests/fate/fits.mak | 2 +- tests/fate/generic-tags.mak | 2 +- tests/fate/hap.mak | 4 ++-- tests/fate/hevc.mak | 2 +- tests/fate/hlsenc.mak | 38 ++++++++++++++++++------------------- tests/fate/libavdevice.mak | 2 +- tests/fate/mov.mak | 2 +- tests/fate/seek.mak | 2 +- tests/fate/segment.mak | 10 +++++----- tools/Makefile | 2 -- 24 files changed, 54 insertions(+), 70 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index 7b683afa17..6dd9455a53 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -100,8 +100,6 @@ doc/%.1: doc/%.pod $(GENTEXI) doc/%.3: doc/%.pod $(GENTEXI) $(M)pod2man --section=3 --center=" " --release=" " --date=" " $< > $@ -$(DOCS) doc/doxy/html: | doc/ - DOXY_INPUT = $(INSTHEADERS) DOXY_INPUT_DEPS = $(addprefix $(SRC_PATH)/, $(DOXY_INPUT)) ffbuild/config.mak diff --git a/doc/examples/Makefile b/doc/examples/Makefile index 4efed6b11d..4c38f7b0db 100644 --- a/doc/examples/Makefile +++ b/doc/examples/Makefile @@ -37,7 +37,6 @@ $(EXAMPLES_G): %$(PROGSSUF)_g$(EXESUF): %.o examples: $(EXAMPLES) -$(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.o): | doc/examples OUTDIRS += doc/examples DOXY_INPUT += $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.c) diff --git a/ffbuild/common.mak b/ffbuild/common.mak index 059de5abf3..bff7e30f8e 100644 --- a/ffbuild/common.mak +++ b/ffbuild/common.mak @@ -244,14 +244,6 @@ $(HOSTOBJS): %.o: %.c $(HOSTPROGS): %$(HOSTEXESUF): %.o $(HOSTLD) $(HOSTLDFLAGS) $(HOSTLD_O) $^ $(HOSTEXTRALIBS) -$(OBJS): | $(sort $(dir $(OBJS))) -$(HOBJS): | $(sort $(dir $(HOBJS))) -$(HOSTOBJS): | $(sort $(dir $(HOSTOBJS))) -$(SHLIBOBJS): | $(sort $(dir $(SHLIBOBJS))) -$(STLIBOBJS): | $(sort $(dir $(STLIBOBJS))) -$(TESTOBJS): | $(sort $(dir $(TESTOBJS))) -$(TOOLOBJS): | tools - OUTDIRS := $(OUTDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SHLIBOBJS) $(STLIBOBJS) $(TESTOBJS)) CLEANSUFFIXES = *.d *.gcda *.gcno *.h.c *.ho *.map *.o *.objs *.pc *.ptx *.ptx.gz *.ptx.c *.spv *.spv.gz *.spv.c *.gen.asm *.gen.c *.gen.S *.ver *.version *.html.gz *.html.c *.css.min.gz *.css.min *.css.c *~ *.ilk *.pdb diff --git a/ffbuild/library.mak b/ffbuild/library.mak index 5ab7eb4615..9b389f59a8 100644 --- a/ffbuild/library.mak +++ b/ffbuild/library.mak @@ -60,10 +60,10 @@ $(NAME)LINK_EXTRA = $(FFEXTRALIBS) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $$(call LINK,$$(call $(NAME)LINK_EXE_ARGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $$(call $(NAME)LINK_EXTRA) $$(EXTRALIBS-$$(*F)) $$(ELIBS)) -$(SUBDIR)lib$(NAME).version: $(SUBDIR)version.h $(SUBDIR)version_major.h | $(SUBDIR) +$(SUBDIR)lib$(NAME).version: $(SUBDIR)version.h $(SUBDIR)version_major.h $$(M) $$(SRC_PATH)/ffbuild/libversion.sh $(NAME) $$^ > $$@ -$(SUBDIR)lib$(FULLNAME).pc: $(SUBDIR)version.h ffbuild/config.sh | $(SUBDIR) +$(SUBDIR)lib$(FULLNAME).pc: $(SUBDIR)version.h ffbuild/config.sh $$(M) $$(SRC_PATH)/ffbuild/pkgconfig_generate.sh $(NAME) "$(DESC)" $(SUBDIR)lib$(NAME).ver: $(SUBDIR)lib$(NAME).v $(OBJS) diff --git a/fftools/Makefile b/fftools/Makefile index 01b16fa8f4..fcdefd4f07 100644 --- a/fftools/Makefile +++ b/fftools/Makefile @@ -60,7 +60,6 @@ ifdef HAVE_GNU_WINDRES OBJS-$(1) += fftools/fftoolsres.o endif $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1)) -$$(OBJS-$(1)): | fftools fftools/textformat fftools/resources fftools/graph $$(OBJS-$(1)): CFLAGS += $(CFLAGS-$(1)) $(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1)) $(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1)) @@ -71,7 +70,7 @@ $(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P)))) all: $(AVPROGS) -fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h | fftools +fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h OUTDIRS += fftools OUTDIRS += fftools/textformat OUTDIRS += fftools/resources diff --git a/tests/Makefile b/tests/Makefile index 8c7d4539a3..d5522cfbc8 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -26,25 +26,25 @@ APITESTSDIR := tests/api FATE_OUTDIRS = tests/data tests/data/fate tests/data/filtergraphs tests/data/maps tests/data/streamgroups tests/data/lavf tests/data/lavf-fate tests/data/pixfmt tests/vsynth1 $(APITESTSDIR) OUTDIRS += $(FATE_OUTDIRS) -$(VREF): tests/videogen$(HOSTEXESUF) | tests/vsynth1 +$(VREF): tests/videogen$(HOSTEXESUF) $(M)./$< 'tests/vsynth1/' -$(AREF): tests/audiogen$(HOSTEXESUF) | tests/data +$(AREF): tests/audiogen$(HOSTEXESUF) $(M)./$< $@ -tests/data/asynth-%.wav: tests/audiogen$(HOSTEXESUF) | tests/data +tests/data/asynth-%.wav: tests/audiogen$(HOSTEXESUF) $(M)./$< $@ $(subst -, ,$*) -tests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) | tests/data +tests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) $(M)$< $@ -tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data +tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) $(M)$< $(SRC_PATH)/tests/reference.pnm $@ -tests/data/vsynth_lena.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data +tests/data/vsynth_lena.yuv: tests/rotozoom$(HOSTEXESUF) $(M)$< $(SAMPLES)/lena.pnm $@ -tests/data/vsynth3.yuv: tests/videogen$(HOSTEXESUF) | tests/data +tests/data/vsynth3.yuv: tests/videogen$(HOSTEXESUF) $(M)$< $@ $(FATEW) $(FATEH) tests/test_copy.ffmeta: TAG = COPY @@ -54,15 +54,15 @@ tests/test_copy.ffmeta: tests/data tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm tests/data/%.nut: TAG = GEN tests/data/filtergraphs/%: TAG = COPY -tests/data/filtergraphs/%: $(SRC_PATH)/tests/filtergraphs/% | tests/data/filtergraphs +tests/data/filtergraphs/%: $(SRC_PATH)/tests/filtergraphs/% $(M)cp $< $@ tests/data/maps/%: TAG = COPY -tests/data/maps/%: $(SRC_PATH)/tests/maps/% | tests/data/maps +tests/data/maps/%: $(SRC_PATH)/tests/maps/% $(M)cp $< $@ tests/data/streamgroups/%: TAG = COPY -tests/data/streamgroups/%: $(SRC_PATH)/tests/streamgroups/% | tests/data/streamgroups +tests/data/streamgroups/%: $(SRC_PATH)/tests/streamgroups/% $(M)cp $< $@ RUNNING_FATE := $(filter check fate%,$(filter-out fate-rsync,$(MAKECMDGOALS))) @@ -322,7 +322,7 @@ FATE += $(FATE_HW-yes) $(FATE): export PROGSUF = $(PROGSSUF) $(FATE): export EXECSUF = $(EXESUF) $(FATE): export HOSTEXECSUF = $(HOSTEXESUF) -$(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) | $(FATE_OUTDIRS) +$(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) @echo "TEST $(@:fate-%=%)$(FATE_SUFFIX)" $(Q)$(SRC_PATH)/tests/fate-run.sh $@$(FATE_SUFFIX) "$(TARGET_SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)' '$(THREADS)' '$(THREAD_TYPE)' '$(CPUFLAGS)' '$(CMP_SHIFT)' '$(CMP_TARGET)' '$(SIZE_TOLERANCE)' '$(CMP_UNIT)' '$(GEN)' '$(HWACCEL)' '$(REPORT)' '$(KEEP_FILES)' diff --git a/tests/api/Makefile b/tests/api/Makefile index 987db1b785..f6633cecbd 100644 --- a/tests/api/Makefile +++ b/tests/api/Makefile @@ -11,7 +11,6 @@ APITESTOBJS := $(APITESTOBJS:%=$(APITESTSDIR)%) $(APITESTPROGS:%=$(APITESTSDIR) APITESTPROGS := $(APITESTPROGS:%=$(APITESTSDIR)/%-test$(EXESUF)) -include $(wildcard $(APITESTOBJS:.o=.d)) -$(APITESTOBJS): | $(sort $(dir $(APITESTOBJS))) $(APITESTOBJS) $(APITESTOBJS:.o=.i): CPPFLAGS += -DTEST $(APITESTOBJS) $(APITESTOBJS:.o=.i): CFLAGS += -Umain diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile index c154d19ed4..10d2e0a26f 100644 --- a/tests/checkasm/Makefile +++ b/tests/checkasm/Makefile @@ -140,7 +140,6 @@ CHECKASMOBJS := $(sort $(CHECKASMOBJS:%=tests/checkasm/%)) -include $(CHECKASMOBJS:.o=.d) CHECKASMDIRS := $(sort $(dir $(CHECKASMOBJS))) -$(CHECKASMOBJS): | $(CHECKASMDIRS) # Prepend the local checkasm include path before any potential external # (possibly outdated) version of libcheckasm. $(CHECKASMOBJS): CFLAGS := -I$(SRC_PATH)/tests/checkasm/ext/include $(CFLAGS) diff --git a/tests/fate/dashenc.mak b/tests/fate/dashenc.mak index df9571f0b4..acefdfde74 100644 --- a/tests/fate/dashenc.mak +++ b/tests/fate/dashenc.mak @@ -1,5 +1,5 @@ tests/data/dash_mpd_timing.mpd: TAG = GEN -tests/data/dash_mpd_timing.mpd: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/dash_mpd_timing.mpd: ffmpeg$(PROGSSUF)$(EXESUF) $(RM) $(TARGET_PATH)/tests/data/dash_mpd_timing* $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -loglevel error -re \ -f lavfi -i "testsrc2=size=128x72:rate=1" -map 0:v \ diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak index 4cdc1a583f..fc1ebf8a05 100644 --- a/tests/fate/demux.mak +++ b/tests/fate/demux.mak @@ -176,10 +176,10 @@ FATE_FFPROBE_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-timed-id3-demux fate-ts-timed-id3-demux: CMD = ffprobe_demux $(TARGET_SAMPLES)/mpegts/id3.ts tests/data/id3.ts: TAG = GEN -tests/data/id3.ts: $(SAMPLES)/mpegts/id3.ts | tests/data +tests/data/id3.ts: $(SAMPLES)/mpegts/id3.ts $(Q)cp $< $@ -tests/data/id3.m3u8: tests/data/id3.ts | tests/data +tests/data/id3.m3u8: tests/data/id3.ts $(Q)printf '#EXTM3U\n#EXT-X-TARGETDURATION:2\n#EXTINF:2,\nid3.ts\n#EXT-X-ENDLIST\n' > $@ FATE_FFPROBE_DEMUX-$(call DEMDEC, MPEGTS HLS) += fate-ts-timed-id3-hls-demux diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak index cd00275638..03794516ca 100644 --- a/tests/fate/ffmpeg.mak +++ b/tests/fate/ffmpeg.mak @@ -186,7 +186,7 @@ fate-ffmpeg-streamloop-copy: CMD = framemd5 -stream_loop 2 -i $(TARGET_SAMPLES)/ tests/data/audio_shorter_than_video.nut: TAG = GEN tests/data/audio_shorter_than_video.nut: tests/data/vsynth_lena.yuv -tests/data/audio_shorter_than_video.nut: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/audio_shorter_than_video.nut: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \ -f lavfi -i "sine=1000:d=1" \ diff --git a/tests/fate/ffprobe.mak b/tests/fate/ffprobe.mak index f09e0ce3e8..d86b871374 100644 --- a/tests/fate/ffprobe.mak +++ b/tests/fate/ffprobe.mak @@ -1,4 +1,4 @@ -tests/data/ffprobe-test.nut: ffmpeg$(PROGSSUF)$(EXESUF) tests/test_copy.ffmeta | tests/data +tests/data/ffprobe-test.nut: ffmpeg$(PROGSSUF)$(EXESUF) tests/test_copy.ffmeta $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=sin(400*PI*2*t):d=0.125[out0]; testsrc=d=0.125[out1]; testsrc=s=100x100:d=0.125[out2]" \ -f ffmetadata -i $(TARGET_PATH)/tests/test_copy.ffmeta \ diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak index 526645a634..2116864bfd 100644 --- a/tests/fate/filter-audio.mak +++ b/tests/fate/filter-audio.mak @@ -215,7 +215,7 @@ fate-filter-compand: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-filter-compand: CMD = framecrc -auto_conversion_filters -i $(SRC) -frames:a 20 -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/compand tests/data/hls-list.m3u8: TAG = GEN -tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -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 @@ -225,7 +225,7 @@ 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 tests/data/hls-list-append.m3u8: TAG = GEN -tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -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-append-out-%03d.ts 2>/dev/null; \ diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index d16fff4d6c..2cb7c0d5e8 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -653,7 +653,7 @@ fate-filter-drawvg-video: $(DRAWVG_SCRIPT_VIDEO) fate-filter-drawvg-video: CMD = video_filter scale,format=bgr0,drawvg=file=$(DRAWVG_SCRIPT_VIDEO) tests/pixfmts.mak: TAG = GEN -tests/pixfmts.mak: ffmpeg$(PROGSSUF)$(EXESUF) | tests +tests/pixfmts.mak: ffmpeg$(PROGSSUF)$(EXESUF) $(M)printf "PIXFMTS = " > $@ $(Q)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin -pix_fmts list 2> /dev/null | awk 'NR > 8 && /^IO/ { printf $$2 " " }' >> $@ $(Q)printf "\n" >> $@ diff --git a/tests/fate/fits.mak b/tests/fate/fits.mak index 408a0cf23d..10b67d60a9 100644 --- a/tests/fate/fits.mak +++ b/tests/fate/fits.mak @@ -1,5 +1,5 @@ tests/data/fits-multi.fits: TAG = GEN -tests/data/fits-multi.fits: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/fits-multi.fits: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/gif/m4nb.gif \ -y $(TARGET_PATH)/$(@) 2>/dev/null diff --git a/tests/fate/generic-tags.mak b/tests/fate/generic-tags.mak index a30a65d2b5..e3bf7e98a2 100644 --- a/tests/fate/generic-tags.mak +++ b/tests/fate/generic-tags.mak @@ -1,5 +1,5 @@ tests/data/generic-tags.mp3: TAG = GEN -tests/data/generic-tags.mp3: ffmpeg$(PROGSSUF)$(EXESUF) $(SRC_PATH)/tests/generic-tags.ffmeta | tests/data +tests/data/generic-tags.mp3: ffmpeg$(PROGSSUF)$(EXESUF) $(SRC_PATH)/tests/generic-tags.ffmeta $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/audiomatch/square3.mp3 \ -f ffmetadata -i $(SRC_PATH)/tests/generic-tags.ffmeta \ diff --git a/tests/fate/hap.mak b/tests/fate/hap.mak index 8268798f4a..36ed6c7b2a 100644 --- a/tests/fate/hap.mak +++ b/tests/fate/hap.mak @@ -48,13 +48,13 @@ FATE_HAPQA_EXTRACT_BSF-$(call REMUX, FRAMECRC MOV, HAPQA_EXTRACT_BSF) += $(FATE_ #Test bsf conversion and mov tests/data/hapq_nosnappy.mov: TAG = GEN -tests/data/hapq_nosnappy.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hapq_nosnappy.mov: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/hap/HAPQA_NoSnappy_127x1.mov -nostdin -c:v copy -bsf:v hapqa_extract=texture=color \ -tag:v HapY -metadata:s:v:0 encoder="HAPQ" $(TARGET_PATH)/$@ -y 2>/dev/null tests/data/hapalphaonly_nosnappy.mov: TAG = GEN -tests/data/hapalphaonly_nosnappy.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hapalphaonly_nosnappy.mov: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/hap/HAPQA_NoSnappy_127x1.mov -nostdin -c:v copy -bsf:v hapqa_extract=texture=alpha \ -tag:v HapA -metadata:s:v:0 encoder="HAPAlpha Only" $(TARGET_PATH)/$@ -y 2>/dev/null diff --git a/tests/fate/hevc.mak b/tests/fate/hevc.mak index 7ce9ff403b..5a8a01e2ea 100644 --- a/tests/fate/hevc.mak +++ b/tests/fate/hevc.mak @@ -225,7 +225,7 @@ fate-hevc-paramchange-yuv420p-yuv420p10: CMD = framecrc -i $(TARGET_SAMPLES)/hev FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, HEVC_PARSER SCALE_FILTER LARGE_TESTS) += fate-hevc-paramchange-yuv420p-yuv420p10 tests/data/hevc-mp4.mov: TAG = GEN -tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) $(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 diff --git a/tests/fate/hlsenc.mak b/tests/fate/hlsenc.mak index cd6cd60365..6603e0b2c2 100644 --- a/tests/fate/hlsenc.mak +++ b/tests/fate/hlsenc.mak @@ -1,5 +1,5 @@ tests/data/live_no_endlist.m3u8: TAG = GEN -tests/data/live_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/live_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -v verbose -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \ -hls_flags omit_endlist -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_no_endlist_%03d.ts \ @@ -13,7 +13,7 @@ fate-hls-live-no-endlist: CMP = oneline fate-hls-live-no-endlist: REF = e038bb8e65d4c1745b9b3ed643e607a3 tests/data/event_no_endlist.m3u8: TAG = GEN -tests/data/event_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/event_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -v verbose -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \ -hls_playlist_type event -hls_flags omit_endlist -hls_list_size 0 -codec:a mp2fixed \ @@ -28,7 +28,7 @@ fate-hls-event-no-endlist: CMP = oneline fate-hls-event-no-endlist: REF = d9cd56b6aaebf67a52a63dd44ec5b085 tests/data/live_last_endlist.m3u8: TAG = GEN -tests/data/live_last_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/live_last_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -v verbose -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \ -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_last_endlist_%03d.ts \ @@ -43,7 +43,7 @@ fate-hls-live-last-endlist: REF = 2ca8567092dcf01e37bedd50454d1ab7 tests/data/live_endlist.m3u8: TAG = GEN -tests/data/live_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/live_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \ -hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_endlist_%d.ts \ @@ -57,7 +57,7 @@ fate-hls-live-endlist: CMP = oneline fate-hls-live-endlist: REF = e189ce781d9c87882f58e3929455167b tests/data/hls_segment_size.m3u8: TAG = GEN -tests/data/hls_segment_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_segment_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_segment_size 300000 -map 0 \ -hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_size_%d.ts \ @@ -68,7 +68,7 @@ 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 tests/data/hls_segment_single.m3u8: TAG = GEN -tests/data/hls_segment_single.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_segment_single.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_flags single_file -map 0 \ -hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_single.ts \ @@ -79,7 +79,7 @@ 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 tests/data/hls_init_time.m3u8: TAG = GEN -tests/data/hls_init_time.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_init_time.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=11" -f hls -hls_init_time 1 -hls_time 3 -map 0 \ -hls_list_size 5 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_init_time_%d.ts \ @@ -90,7 +90,7 @@ 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 tests/data/hls_list_size.m3u8: TAG = GEN -tests/data/hls_list_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_list_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 4 -map 0 \ -hls_list_size 4 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_list_size_%d.ts \ @@ -101,7 +101,7 @@ 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 tests/data/hls_fmp4.m3u8: TAG = GEN -tests/data/hls_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -re -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=5" -map 0 -codec:a mp2fixed \ -hls_segment_type mpegts -hls_fmp4_init_filename now.mp4 -hls_list_size 0 \ @@ -113,7 +113,7 @@ 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 tests/data/hls_fmp4_ac3.m3u8: TAG = GEN -tests/data/hls_fmp4_ac3.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_fmp4_ac3.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -stream_loop 4 -i $(TARGET_SAMPLES)/ac3/monsters_inc_5.1_448_small.ac3 -c copy -map 0 \ -hls_segment_type fmp4 -hls_fmp4_init_filename now_ac3.mp4 -hls_list_size 0 \ @@ -128,7 +128,7 @@ fate-hls-fmp4_ac3: CMD = probeaudiostream $(TARGET_PATH)/tests/data/now_ac3.mp4 tests/data/hls_cmfa.m3u8: TAG = GEN -tests/data/hls_cmfa.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_cmfa.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/aac/al06_44.mp4 -c copy -map 0 \ -hls_segment_type fmp4 -hls_fmp4_init_filename now.cmfa -hls_list_size 0 \ @@ -147,7 +147,7 @@ FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_HLSENC_PROBE-yes) # -- Tests below do not require FATE samples (lavfi-generated input only) -- tests/data/hls_playlist_type_vod.m3u8: TAG = GEN -tests/data/hls_playlist_type_vod.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_playlist_type_vod.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_playlist_type vod -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -160,7 +160,7 @@ fate-hls-playlist-type-vod: CMD = sed -n -e /^\#EXT-X-PLAYLIST-TYPE:/p -e /^\#EX fate-hls-playlist-type-vod: CMP = diff tests/data/hls_playlist_type_event.m3u8: TAG = GEN -tests/data/hls_playlist_type_event.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_playlist_type_event.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_playlist_type event -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -173,7 +173,7 @@ fate-hls-playlist-type-event: CMD = sed -n -e /^\#EXT-X-PLAYLIST-TYPE:/p -e /^\# fate-hls-playlist-type-event: CMP = diff tests/data/hls_round_durations.m3u8: TAG = GEN -tests/data/hls_round_durations.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_round_durations.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_flags round_durations -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -186,7 +186,7 @@ fate-hls-round-durations: CMD = sed -n -e /^\#EXTINF:/p $(TARGET_PATH)/tests/dat fate-hls-round-durations: CMP = diff tests/data/hls_discont_start.m3u8: TAG = GEN -tests/data/hls_discont_start.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_discont_start.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_flags discont_start -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -199,7 +199,7 @@ fate-hls-discont-start: CMD = sed -n -e /^\#EXT-X-DISCONTINUITY/p -e /^\#EXTINF: fate-hls-discont-start: CMP = diff tests/data/hls_independent_segments.m3u8: TAG = GEN -tests/data/hls_independent_segments.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_independent_segments.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_flags independent_segments -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -212,7 +212,7 @@ fate-hls-independent-segments: CMD = sed -n -e /^\#EXT-X-INDEPENDENT-SEGMENTS/p fate-hls-independent-segments: CMP = diff tests/data/hls_start_number.m3u8: TAG = GEN -tests/data/hls_start_number.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_start_number.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -start_number 100 -hls_list_size 0 -c:v mpeg2video -g 1 \ @@ -225,7 +225,7 @@ fate-hls-start-number: CMD = sed -n -e /^\#EXT-X-MEDIA-SEQUENCE:/p -e /^[^\#]/p fate-hls-start-number: CMP = diff tests/data/hls_iframes_single_mpegts.m3u8: TAG = GEN -tests/data/hls_iframes_single_mpegts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_iframes_single_mpegts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_list_size 0 -c:v mpeg2video -g 1 -bitexact \ @@ -239,7 +239,7 @@ fate-hls-iframes-single-mpegts: CMD = sed -n -e /^\#EXT-X-BYTERANGE:/p $(TARGET_ fate-hls-iframes-single-mpegts: CMP = diff tests/data/hls_iframes_single_fmp4.m3u8: TAG = GEN -tests/data/hls_iframes_single_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls_iframes_single_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=1:d=3" -f hls -hls_time 1 -map 0:v \ -hls_list_size 0 -c:v mpeg2video -g 1 -bitexact -dct int \ diff --git a/tests/fate/libavdevice.mak b/tests/fate/libavdevice.mak index 3ccbf0731d..3a2cbde456 100644 --- a/tests/fate/libavdevice.mak +++ b/tests/fate/libavdevice.mak @@ -2,7 +2,7 @@ FATE_LIBAVDEVICE-$(CONFIG_JACK_INDEV) += fate-timefilter fate-timefilter: libavdevice/tests/timefilter$(EXESUF) fate-timefilter: CMD = run libavdevice/tests/timefilter -tests/data/alsa_nodesc.conf: | tests/data +tests/data/alsa_nodesc.conf: $(Q)printf 'pcm.nodesc {\n\ttype null\n\thint {\n\t\tshow on\n\t}\n}\n' > $@ FATE_FFMPEG-$(CONFIG_ALSA_INDEV) += fate-alsa-device-list-nodesc diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index 5b45ea675c..5530427d9b 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -321,7 +321,7 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter # Test muxing an IAMF track alongside a video one, with video as the first track. tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: TAG = GEN tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: 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 -tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/mov-mp4-iamf-7_1_4-video-first.mp4: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f wav -i $(TARGET_PATH)/tests/data/asynth-44100-12.wav \ -f rawvideo -s 352x288 -pix_fmt yuv420p -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_PATH)/tests/data/vsynth1.yuv \ diff --git a/tests/fate/seek.mak b/tests/fate/seek.mak index 106cc0578d..90cc6c999f 100644 --- a/tests/fate/seek.mak +++ b/tests/fate/seek.mak @@ -200,7 +200,7 @@ fate-seek-cache-pipe: CMD = cat $(SAMPLES)/gapless/gapless.mp3 | run libavformat fate-seek-mkv-codec-delay: CMD = run libavformat/tests/seek$(EXESUF) $(TARGET_SAMPLES)/mkv/codec_delay_opus.mkv # A master playlist with separate audio and video media playlists with different DTS. -tests/data/hls-seek.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/hls-seek.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -f lavfi -i "testsrc2=size=128x72:rate=10:d=6" \ -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=6" \ diff --git a/tests/fate/segment.mak b/tests/fate/segment.mak index 8537462762..32b4b974fa 100644 --- a/tests/fate/segment.mak +++ b/tests/fate/segment.mak @@ -1,19 +1,19 @@ tests/data/mp4-to-ts.m3u8: TAG = GEN -tests/data/mp4-to-ts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/mp4-to-ts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 \ -f ssegment -segment_time 1 -map 0 -flags +bitexact -codec copy \ -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/mp4-to-ts-%03d.ts 2>/dev/null tests/data/adts-to-mkv.m3u8: TAG = GEN -tests/data/adts-to-mkv.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/adts-to-mkv.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \ -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \ -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/adts-to-mkv-%03d.mkv 2>/dev/null tests/data/adts-to-mkv-header.mkv: TAG = GEN -tests/data/adts-to-mkv-header.mkv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data +tests/data/adts-to-mkv-header.mkv: ffmpeg$(PROGSSUF)$(EXESUF) $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \ -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \ @@ -25,11 +25,11 @@ tests/data/adts-to-mkv-header-%.mkv: tests/data/adts-to-mkv-header.mkv ; FATE_SEGMENT_PARTS += 000 001 002 tests/data/adts-to-mkv-cated-all.mkv: TAG = GEN -tests/data/adts-to-mkv-cated-all.mkv: tests/data/adts-to-mkv-header.mkv $(FATE_SEGMENT_PARTS:%=tests/data/adts-to-mkv-header-%.mkv) | tests/data +tests/data/adts-to-mkv-cated-all.mkv: tests/data/adts-to-mkv-header.mkv $(FATE_SEGMENT_PARTS:%=tests/data/adts-to-mkv-header-%.mkv) $(M)cat $^ >$@ tests/data/adts-to-mkv-cated-%.mkv: TAG = GEN -tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data/adts-to-mkv-header-%.mkv | tests/data +tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data/adts-to-mkv-header-%.mkv $(M)cat $^ >$@ FATE_SEGMENT += fate-segment-mp4-to-ts diff --git a/tools/Makefile b/tools/Makefile index 7ae6e3cb75..bb80ba5e80 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -30,8 +30,6 @@ tools/enc_recon_frame_test$(EXESUF): tools/decode_simple.o tools/venc_data_dump$(EXESUF): tools/decode_simple.o tools/scale_slice_test$(EXESUF): tools/decode_simple.o -tools/decode_simple.o: | tools - OUTDIRS += tools clean:: -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
