1cabdff1aSopenharmony_ci 2cabdff1aSopenharmony_ciifneq ($(strip $(KEEP)),) 3cabdff1aSopenharmony_ciifneq ($(strip $(KEEP)),0) 4cabdff1aSopenharmony_ci# KEEP_FILES is normally undefined; it is set to 2 # if the user requested 5cabdff1aSopenharmony_ci# to keep all intermediate FATE-files by setting KEEP. 6cabdff1aSopenharmony_ci# For some tests it is also set to 1 if it is unset; this indicates 7cabdff1aSopenharmony_ci# that only some intermediate files (namely only non-raw files) 8cabdff1aSopenharmony_ci# are to be kept. This allows reusing these intermediate files as input 9cabdff1aSopenharmony_ci# files for other tests (mostly the seek-tests). 10cabdff1aSopenharmony_ciKEEP_FILES = 2 11cabdff1aSopenharmony_ciendif 12cabdff1aSopenharmony_ciendif 13cabdff1aSopenharmony_ci 14cabdff1aSopenharmony_ciTHREADS = 1 15cabdff1aSopenharmony_ciVREF = tests/vsynth1/00.pgm 16cabdff1aSopenharmony_ciAREF = tests/data/asynth1.sw 17cabdff1aSopenharmony_ci 18cabdff1aSopenharmony_ciFATEW = 34 19cabdff1aSopenharmony_ciFATEH = 34 20cabdff1aSopenharmony_ci 21cabdff1aSopenharmony_ciFFMPEG=ffmpeg$(PROGSSUF)$(EXESUF) 22cabdff1aSopenharmony_ci 23cabdff1aSopenharmony_ci$(AREF): CMP= 24cabdff1aSopenharmony_ci 25cabdff1aSopenharmony_ciAPITESTSDIR := tests/api 26cabdff1aSopenharmony_ciFATE_OUTDIRS = tests/data tests/data/fate tests/data/filtergraphs tests/data/lavf tests/data/lavf-fate tests/data/pixfmt tests/vsynth1 $(APITESTSDIR) 27cabdff1aSopenharmony_ciOUTDIRS += $(FATE_OUTDIRS) 28cabdff1aSopenharmony_ci 29cabdff1aSopenharmony_ci$(VREF): tests/videogen$(HOSTEXESUF) | tests/vsynth1 30cabdff1aSopenharmony_ci $(M)./$< 'tests/vsynth1/' 31cabdff1aSopenharmony_ci 32cabdff1aSopenharmony_ci$(AREF): tests/audiogen$(HOSTEXESUF) | tests/data 33cabdff1aSopenharmony_ci $(M)./$< $@ 34cabdff1aSopenharmony_ci 35cabdff1aSopenharmony_citests/data/asynth-%.wav: tests/audiogen$(HOSTEXESUF) | tests/data 36cabdff1aSopenharmony_ci $(M)./$< $@ $(subst -, ,$*) 37cabdff1aSopenharmony_ci 38cabdff1aSopenharmony_citests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) | tests/data 39cabdff1aSopenharmony_ci $(M)$< $@ 40cabdff1aSopenharmony_ci 41cabdff1aSopenharmony_citests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data 42cabdff1aSopenharmony_ci $(M)$< $(SRC_PATH)/tests/reference.pnm $@ 43cabdff1aSopenharmony_ci 44cabdff1aSopenharmony_citests/data/vsynth_lena.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data 45cabdff1aSopenharmony_ci $(M)$< $(SAMPLES)/lena.pnm $@ 46cabdff1aSopenharmony_ci 47cabdff1aSopenharmony_citests/data/vsynth3.yuv: tests/videogen$(HOSTEXESUF) | tests/data 48cabdff1aSopenharmony_ci $(M)$< $@ $(FATEW) $(FATEH) 49cabdff1aSopenharmony_ci 50cabdff1aSopenharmony_citests/test_copy.ffmeta: TAG = COPY 51cabdff1aSopenharmony_citests/test_copy.ffmeta: tests/data 52cabdff1aSopenharmony_ci $(M)cp -f $(SRC_PATH)/tests/test.ffmeta tests/test_copy.ffmeta 53cabdff1aSopenharmony_ci 54cabdff1aSopenharmony_citests/data/ffprobe-test.nut: ffmpeg$(PROGSSUF)$(EXESUF) tests/test_copy.ffmeta 55cabdff1aSopenharmony_ci $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ 56cabdff1aSopenharmony_ci -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]" \ 57cabdff1aSopenharmony_ci -f ffmetadata -i $(TARGET_PATH)/tests/test_copy.ffmeta \ 58cabdff1aSopenharmony_ci -flags +bitexact -fflags +bitexact -map 0:0 -map 0:1 -map 0:2 -map_metadata 1 \ 59cabdff1aSopenharmony_ci -map_metadata:s:0 1:s:0 -map_metadata:s:1 1:s:1 \ 60cabdff1aSopenharmony_ci -vcodec rawvideo -acodec pcm_s16le \ 61cabdff1aSopenharmony_ci -y $(TARGET_PATH)/$@ 2>/dev/null 62cabdff1aSopenharmony_ci 63cabdff1aSopenharmony_citests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm tests/data/%.nut: TAG = GEN 64cabdff1aSopenharmony_ci 65cabdff1aSopenharmony_citests/data/filtergraphs/%: TAG = COPY 66cabdff1aSopenharmony_citests/data/filtergraphs/%: $(SRC_PATH)/tests/filtergraphs/% | tests/data/filtergraphs 67cabdff1aSopenharmony_ci $(M)cp $< $@ 68cabdff1aSopenharmony_ci 69cabdff1aSopenharmony_ciRUNNING_FATE := $(filter check fate%,$(filter-out fate-rsync,$(MAKECMDGOALS))) 70cabdff1aSopenharmony_ci 71cabdff1aSopenharmony_ci# Check sanity of dependencies when running FATE tests. 72cabdff1aSopenharmony_ciifneq (,$(RUNNING_FATE)) 73cabdff1aSopenharmony_ciCHKCFG = $(if $($(1))$(!$(1)),$($(1)), $(error No such config: $(1))) 74cabdff1aSopenharmony_ciendif 75cabdff1aSopenharmony_ci 76cabdff1aSopenharmony_ciALLYES = $(strip $(call XYES, $(1))) 77cabdff1aSopenharmony_ciXYES = $(if $(strip $(1)), \ 78cabdff1aSopenharmony_ci $(if $(call CHKCFG,CONFIG_$(firstword $(1))), \ 79cabdff1aSopenharmony_ci $(call XYES, $(wordlist 2, $(words $(1)), $(1)))), \ 80cabdff1aSopenharmony_ci yes) 81cabdff1aSopenharmony_ci 82cabdff1aSopenharmony_ciENCDEC = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ 83cabdff1aSopenharmony_ci $(firstword $(2))_MUXER $(lastword $(2))_DEMUXER \ 84cabdff1aSopenharmony_ci $(3) FILE_PROTOCOL) 85cabdff1aSopenharmony_ci 86cabdff1aSopenharmony_ciENCDEC2 = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ 87cabdff1aSopenharmony_ci $(firstword $(2))_ENCODER $(lastword $(2))_DECODER \ 88cabdff1aSopenharmony_ci $(firstword $(3))_MUXER $(lastword $(3))_DEMUXER \ 89cabdff1aSopenharmony_ci $(4) FILE_PROTOCOL) 90cabdff1aSopenharmony_ci 91cabdff1aSopenharmony_ci# RAWVIDEO_ENCODER and PCM_S16LE_ENCODER corresponds to the default codecs 92cabdff1aSopenharmony_ci# for framecrc. These requirements are not always necessary. 93cabdff1aSopenharmony_ciTRANSCODE = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ 94cabdff1aSopenharmony_ci $(firstword $(2))_MUXER $(lastword $(2))_DEMUXER \ 95cabdff1aSopenharmony_ci $(3) FILE_PROTOCOL PIPE_PROTOCOL RAWVIDEO_ENCODER \ 96cabdff1aSopenharmony_ci PCM_S16LE_ENCODER FRAMECRC_MUXER) 97cabdff1aSopenharmony_ci 98cabdff1aSopenharmony_ciREMUX = $(call ALLYES, $(firstword $(1))_MUXER $(lastword $(1))_DEMUXER \ 99cabdff1aSopenharmony_ci $(2) FILE_PROTOCOL PIPE_PROTOCOL FRAMECRC_MUXER) 100cabdff1aSopenharmony_ci 101cabdff1aSopenharmony_ciDEMDEC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3) FILE_PROTOCOL) 102cabdff1aSopenharmony_ciENCMUX = $(call ALLYES, $(1:%=%_ENCODER) $(2)_MUXER $(3)) 103cabdff1aSopenharmony_ci 104cabdff1aSopenharmony_ciFRAMEMD5 = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3) \ 105cabdff1aSopenharmony_ci PCM_S16LE_ENCODER RAWVIDEO_ENCODER FRAMEMD5_MUXER \ 106cabdff1aSopenharmony_ci PIPE_PROTOCOL FILE_PROTOCOL) 107cabdff1aSopenharmony_ciFRAMECRC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER) $(3) \ 108cabdff1aSopenharmony_ci PCM_S16LE_ENCODER RAWVIDEO_ENCODER FRAMECRC_MUXER \ 109cabdff1aSopenharmony_ci PIPE_PROTOCOL FILE_PROTOCOL) 110cabdff1aSopenharmony_ci 111cabdff1aSopenharmony_ci# Variant of DEMDEC for use with the "pcm" command. 112cabdff1aSopenharmony_ciPCM = $(call ALLYES, $(1)_DEMUXER $(2)_DECODER $(3) FILE_PROTOCOL \ 113cabdff1aSopenharmony_ci PCM_S16LE_ENCODER PCM_S16LE_MUXER PIPE_PROTOCOL) 114cabdff1aSopenharmony_ci 115cabdff1aSopenharmony_ciDEMMUX = $(call ALLYES, $(1)_DEMUXER $(2)_MUXER $(3) FILE_PROTOCOL) 116cabdff1aSopenharmony_ci 117cabdff1aSopenharmony_ci# Variant of FRAMECRC for the cases with -lavfi where no demuxer is involved. 118cabdff1aSopenharmony_ciFILTERFRAMECRC = $(call ALLYES, $(1:%=%_FILTER) $(2) PCM_S16LE_ENCODER \ 119cabdff1aSopenharmony_ci RAWVIDEO_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) 120cabdff1aSopenharmony_ci# Specialization of FRAMECRC to be used when filtering is involved. 121cabdff1aSopenharmony_ciFILTERDEMDEC = $(call ALLYES, $(1:%=%_FILTER) $(2:%=%_DEMUXER) $(3:%=%_DECODER) \ 122cabdff1aSopenharmony_ci $(4) PCM_S16LE_ENCODER RAWVIDEO_ENCODER \ 123cabdff1aSopenharmony_ci FRAMECRC_MUXER FILE_PROTOCOL PIPE_PROTOCOL) 124cabdff1aSopenharmony_ciFILTERDEMDECENCMUX = $(call ALLYES, $(1:%=%_FILTER) $(2)_DEMUXER $(3)_DECODER $(4)_ENCODER $(5)_MUXER $(6) FILE_PROTOCOL) 125cabdff1aSopenharmony_ci 126cabdff1aSopenharmony_ciPARSERDEMDEC = $(call ALLYES, $(1)_PARSER $(2)_DEMUXER $(3)_DECODER $(4) FILE_PROTOCOL) 127cabdff1aSopenharmony_ci 128cabdff1aSopenharmony_ci# Allow overriding CONFIG_LARGE_TESTS via LARGE_TESTS, if set on the 129cabdff1aSopenharmony_ci# make command line. 130cabdff1aSopenharmony_ciifeq ($(LARGE_TESTS), yes) 131cabdff1aSopenharmony_ciCONFIG_LARGE_TESTS:=yes 132cabdff1aSopenharmony_ci!CONFIG_LARGE_TESTS:= 133cabdff1aSopenharmony_cielse ifeq ($(LARGE_TESTS), no) 134cabdff1aSopenharmony_ciCONFIG_LARGE_TESTS:= 135cabdff1aSopenharmony_ci!CONFIG_LARGE_TESTS:=yes 136cabdff1aSopenharmony_ciendif 137cabdff1aSopenharmony_ci 138cabdff1aSopenharmony_ciinclude $(SRC_PATH)/$(APITESTSDIR)/Makefile 139cabdff1aSopenharmony_ci 140cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/acodec.mak 141cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/vcodec.mak 142cabdff1aSopenharmony_ci 143cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lavf-audio.mak 144cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lavf-container.mak 145cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lavf-image.mak 146cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lavf-image2pipe.mak 147cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lavf-video.mak 148cabdff1aSopenharmony_ci# Must be included after acodec.mak, vcodec.mak and lavf-*.mak 149cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/seek.mak 150cabdff1aSopenharmony_ci 151cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/aac.mak 152cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/ac3.mak 153cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/adpcm.mak 154cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/alac.mak 155cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/als.mak 156cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/amrnb.mak 157cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/amrwb.mak 158cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/api.mak 159cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/apng.mak 160cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/atrac.mak 161cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/audio.mak 162cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/bmp.mak 163cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/build.mak 164cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/caf.mak 165cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/canopus.mak 166cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/cbs.mak 167cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/cdxl.mak 168cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/checkasm.mak 169cabdff1aSopenharmony_ci# Must be included after lavf-container.mak 170cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/concatdec.mak 171cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/cover-art.mak 172cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dca.mak 173cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/demux.mak 174cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dfa.mak 175cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dnn.mak 176cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dnxhd.mak 177cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dpcm.mak 178cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/dvvideo.mak 179cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/ea.mak 180cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/exif.mak 181cabdff1aSopenharmony_ci# Must be included after lavf-video.mak 182cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/ffmpeg.mak 183cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/ffprobe.mak 184cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/fft.mak 185cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/fifo-muxer.mak 186cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/filter-audio.mak 187cabdff1aSopenharmony_ci# Must be included after vcodec.mak 188cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/filter-video.mak 189cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/fits.mak 190cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/flac.mak 191cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/flvenc.mak 192cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/gapless.mak 193cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/gif.mak 194cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/h264.mak 195cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/hap.mak 196cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/hevc.mak 197cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/hlsenc.mak 198cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/hw.mak 199cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/id3v2.mak 200cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/image.mak 201cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/imf.mak 202cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/indeo.mak 203cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libavcodec.mak 204cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libavdevice.mak 205cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libavformat.mak 206cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libavutil.mak 207cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libswresample.mak 208cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/libswscale.mak 209cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lossless-audio.mak 210cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/lossless-video.mak 211cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/matroska.mak 212cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/microsoft.mak 213cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/monkeysaudio.mak 214cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mov.mak 215cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mp3.mak 216cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mpc.mak 217cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mpeg4.mak 218cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mpegps.mak 219cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mpegts.mak 220cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/mxf.mak 221cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/oma.mak 222cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/opus.mak 223cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/pcm.mak 224cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/pixfmt.mak 225cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/pixlet.mak 226cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/probe.mak 227cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/prores.mak 228cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/qt.mak 229cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/qtrle.mak 230cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/real.mak 231cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/screen.mak 232cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/segment.mak 233cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/source.mak 234cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/speedhq.mak 235cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/subtitles.mak 236cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/truehd.mak 237cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/utvideo.mak 238cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/vbn.mak 239cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/video.mak 240cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/voice.mak 241cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/vorbis.mak 242cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/vpx.mak 243cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/vqf.mak 244cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/wavpack.mak 245cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/webm-dash-manifest.mak 246cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/wma.mak 247cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/fate/xvid.mak 248cabdff1aSopenharmony_ci 249cabdff1aSopenharmony_ciFATE_FFMPEG += $(FATE_FFMPEG-yes) $(FATE_AVCONV) $(FATE_AVCONV-yes) 250cabdff1aSopenharmony_ciFATE-$(CONFIG_FFMPEG) += $(FATE_FFMPEG) 251cabdff1aSopenharmony_ciFATE-$(CONFIG_FFPROBE) += $(FATE_FFPROBE) 252cabdff1aSopenharmony_ciFATE-$(call ALLYES, FFMPEG FFPROBE) += $(FATE_FFMPEG_FFPROBE) 253cabdff1aSopenharmony_ci 254cabdff1aSopenharmony_ciFATE_SAMPLES_AVCONV += $(FATE_SAMPLES_AVCONV-yes) 255cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_FFMPEG-yes) 256cabdff1aSopenharmony_ciFATE_EXTERN-$(CONFIG_FFMPEG) += $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) 257cabdff1aSopenharmony_ciFATE_EXTERN-$(CONFIG_FFPROBE) += $(FATE_SAMPLES_FFPROBE) 258cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_SAMPLES_FFMPEG_FFPROBE-yes) 259cabdff1aSopenharmony_ciFATE_EXTERN-$(call ALLYES, FFMPEG FFPROBE) += $(FATE_SAMPLES_FFMPEG_FFPROBE) 260cabdff1aSopenharmony_ciFATE_EXTERN += $(FATE_EXTERN-yes) $(FATE_SAMPLES_FASTSTART) 261cabdff1aSopenharmony_ci 262cabdff1aSopenharmony_ciFATE += $(FATE-yes) 263cabdff1aSopenharmony_ci 264cabdff1aSopenharmony_ciRSYNC_OPTIONS-$(HAVE_RSYNC_CONTIMEOUT) += --contimeout=60 265cabdff1aSopenharmony_ciRSYNC_OPTIONS = -vrltLW --timeout=60 $(RSYNC_OPTIONS-yes) 266cabdff1aSopenharmony_ci 267cabdff1aSopenharmony_ci$(FATE_FFMPEG) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG) $(FATE_SAMPLES_FFMPEG_FFPROBE): ffmpeg$(PROGSSUF)$(EXESUF) 268cabdff1aSopenharmony_ci 269cabdff1aSopenharmony_ci$(FATE_FFPROBE) $(FATE_FFMPEG_FFPROBE) $(FATE_SAMPLES_FFPROBE) $(FATE_SAMPLES_FFMPEG_FFPROBE): ffprobe$(PROGSSUF)$(EXESUF) 270cabdff1aSopenharmony_ci 271cabdff1aSopenharmony_ci$(FATE_SAMPLES_FASTSTART): tools/qt-faststart$(EXESUF) 272cabdff1aSopenharmony_ci$(FATE_SAMPLES_DUMP_DATA) $(FATE_SAMPLES_DUMP_DATA-yes): tools/venc_data_dump$(EXESUF) 273cabdff1aSopenharmony_ci$(FATE_SAMPLES_SCALE_SLICE): tools/scale_slice_test$(EXESUF) 274cabdff1aSopenharmony_ci 275cabdff1aSopenharmony_ciifdef SAMPLES 276cabdff1aSopenharmony_ciFATE += $(FATE_EXTERN) 277cabdff1aSopenharmony_cifate-rsync: 278cabdff1aSopenharmony_ci rsync $(RSYNC_OPTIONS) rsync://fate-suite.ffmpeg.org/fate-suite/ $(SAMPLES) 279cabdff1aSopenharmony_cielse 280cabdff1aSopenharmony_cifate:: 281cabdff1aSopenharmony_ci @echo "warning: only a subset of the fate tests will be run because SAMPLES is not specified" 282cabdff1aSopenharmony_cifate-rsync: 283cabdff1aSopenharmony_ci @echo "use 'make fate-rsync SAMPLES=/path/to/samples' to sync the fate suite" 284cabdff1aSopenharmony_ci$(FATE_EXTERN): 285cabdff1aSopenharmony_ci @echo "$@ requires external samples and SAMPLES not specified"; false 286cabdff1aSopenharmony_ciendif 287cabdff1aSopenharmony_ci 288cabdff1aSopenharmony_ciFATE_UTILS = base64 tiny_psnr tiny_ssim audiomatch 289cabdff1aSopenharmony_ci 290cabdff1aSopenharmony_ciTOOL = ffmpeg 291cabdff1aSopenharmony_ci 292cabdff1aSopenharmony_ci$(addprefix fate-, $(IGNORE_TESTS)): REPORT=ignore 293cabdff1aSopenharmony_ci 294cabdff1aSopenharmony_cifate:: $(FATE) 295cabdff1aSopenharmony_ci 296cabdff1aSopenharmony_ci# Tests requiring hardware support are not included in a default fate run. 297cabdff1aSopenharmony_cifate-hw: $(FATE_HW-yes) 298cabdff1aSopenharmony_ciFATE += $(FATE_HW-yes) 299cabdff1aSopenharmony_ci 300cabdff1aSopenharmony_ci$(FATE): export PROGSUF = $(PROGSSUF) 301cabdff1aSopenharmony_ci$(FATE): export EXECSUF = $(EXESUF) 302cabdff1aSopenharmony_ci$(FATE): export HOSTEXECSUF = $(HOSTEXESUF) 303cabdff1aSopenharmony_ci$(FATE): $(FATE_UTILS:%=tests/%$(HOSTEXESUF)) | $(FATE_OUTDIRS) 304cabdff1aSopenharmony_ci @echo "TEST $(@:fate-%=%)" 305cabdff1aSopenharmony_ci $(Q)$(SRC_PATH)/tests/fate-run.sh $@ "$(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)' 306cabdff1aSopenharmony_ci 307cabdff1aSopenharmony_cifate-list: 308cabdff1aSopenharmony_ci @printf '%s\n' $(sort $(FATE)) 309cabdff1aSopenharmony_ci 310cabdff1aSopenharmony_cicoverage.info: TAG = LCOV 311cabdff1aSopenharmony_cicoverage.info: 312cabdff1aSopenharmony_ci $(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \ 313cabdff1aSopenharmony_ci sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@.in 314cabdff1aSopenharmony_ci $(M)lcov -q --remove $@.in "/usr*" > $@ 315cabdff1aSopenharmony_ci $(Q)$(RM) $@.in 316cabdff1aSopenharmony_ci 317cabdff1aSopenharmony_cilcov: TAG = GENHTML 318cabdff1aSopenharmony_cilcov: coverage.info 319cabdff1aSopenharmony_ci $(M)genhtml -q -o $(CURDIR)/lcov $< 320cabdff1aSopenharmony_ci 321cabdff1aSopenharmony_cilcov-reset: TAG = LCOV 322cabdff1aSopenharmony_cilcov-reset: 323cabdff1aSopenharmony_ci $(M)lcov -q -d $(CURDIR) --zerocounters 324cabdff1aSopenharmony_ci $(Q)$(RM) -f coverage.info 325cabdff1aSopenharmony_ci 326cabdff1aSopenharmony_ciclean:: testclean 327cabdff1aSopenharmony_ci 328cabdff1aSopenharmony_citestclean:: 329cabdff1aSopenharmony_ci $(RM) -r tests/vsynth1 tests/data tools/lavfi-showfiltfmts$(PROGSSUF)$(EXESUF) 330cabdff1aSopenharmony_ci $(RM) $(CLEANSUFFIXES:%=tests/%) 331cabdff1aSopenharmony_ci $(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF)) 332cabdff1aSopenharmony_ci $(RM) tests/pixfmts.mak tests/test_copy.ffmeta 333cabdff1aSopenharmony_ci 334cabdff1aSopenharmony_ci-include $(wildcard tests/*.d) 335cabdff1aSopenharmony_ci 336cabdff1aSopenharmony_ciinclude $(SRC_PATH)/tests/checkasm/Makefile 337cabdff1aSopenharmony_ci 338cabdff1aSopenharmony_ci.PHONY: fate* lcov lcov-reset 339cabdff1aSopenharmony_ci.INTERMEDIATE: coverage.info 340