1CROSS_TEST = $(foreach I,$(1), \ 2 $(foreach J,$(1), \ 3 $(if $(filter-out $(I),$(J)), \ 4 $(eval $(call $(2),$(I),$(J),$(3),$(4),$(5))), \ 5 ))) 6 7MIX_CHANNELS = 1 2 3 4 5 6 7 8 8 9define MIX 10FATE_LAVR_MIX += fate-lavr-mix-$(3)-$(1)-$(2) 11fate-lavr-mix-$(3)-$(1)-$(2): tests/data/asynth-44100-$(1).wav 12fate-lavr-mix-$(3)-$(1)-$(2): CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-44100-$(1).wav -ac $(2) -mix_coeff_type $(3) -internal_sample_fmt $(4) -f s16le -af atrim=end_sample=1024 - 13fate-lavr-mix-$(3)-$(1)-$(2): CMP = oneoff 14fate-lavr-mix-$(3)-$(1)-$(2): REF = $(SAMPLES)/lavr/lavr-mix-$(3)-$(1)-$(2) 15endef 16 17$(call CROSS_TEST,$(MIX_CHANNELS),MIX,q8,s16p) 18$(call CROSS_TEST,$(MIX_CHANNELS),MIX,q15,s16p) 19$(call CROSS_TEST,$(MIX_CHANNELS),MIX,flt,fltp) 20 21# test output zeroing with skipped corresponding input 22FATE_LAVR_MIX-$(call FILTERDEMDECENCMUX, CHANNELMAP RESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-lavr-mix-output-zero 23fate-lavr-mix-output-zero: tests/data/filtergraphs/lavr_mix_output_zero tests/data/asynth-44100-4.wav 24fate-lavr-mix-output-zero: CMP = oneoff 25fate-lavr-mix-output-zero: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-44100-4.wav -filter_script $(TARGET_PATH)/tests/data/filtergraphs/lavr_mix_output_zero -f s16le - 26fate-lavr-mix-output-zero: REF = $(SAMPLES)/lavr/lavr-mix-output-zero 27 28FATE_LAVR_MIX-$(call FILTERDEMDECENCMUX, RESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_LAVR_MIX) 29fate-lavr-mix: $(FATE_LAVR_MIX-yes) 30#FATE_LAVR += $(FATE_LAVR_MIX-yes) 31 32SAMPLERATES = 2626 8000 44100 48000 96000 33 34define RESAMPLE 35FATE_LAVR_RESAMPLE += fate-lavr-resample-$(3)-$(1)-$(2) 36fate-lavr-resample-$(3)-$(1)-$(2): tests/data/asynth-$(1)-1.wav 37fate-lavr-resample-$(3)-$(1)-$(2): CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-$(1)-1.wav -ar $(2) -internal_sample_fmt $(3) -f $(4) -af atrim=end_sample=10240 - 38fate-lavr-resample-$(3)-$(1)-$(2): CMP = oneoff 39fate-lavr-resample-$(3)-$(1)-$(2): CMP_UNIT = $(5) 40fate-lavr-resample-$(3)-$(1)-$(2): FUZZ = 6 41fate-lavr-resample-$(3)-$(1)-$(2): REF = $(SAMPLES)/lavr/lavr-resample-$(3)-$(1)-$(2)-v3 42endef 43 44$(call CROSS_TEST,$(SAMPLERATES),RESAMPLE,s16p,s16le,s16) 45$(call CROSS_TEST,$(SAMPLERATES),RESAMPLE,s32p,s32le,s16) 46$(call CROSS_TEST,$(SAMPLERATES),RESAMPLE,fltp,f32le,f32) 47$(call CROSS_TEST,$(SAMPLERATES),RESAMPLE,dblp,f64le,f64) 48 49FATE_LAVR_RESAMPLE += fate-lavr-resample-linear 50fate-lavr-resample-linear: tests/data/asynth-44100-1.wav 51fate-lavr-resample-linear: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-44100-1.wav -ar 48000 -filter_size 32 -linear_interp 1 -f s16le -af atrim=end_sample=10240 - 52fate-lavr-resample-linear: CMP = oneoff 53fate-lavr-resample-linear: CMP_UNIT = s16 54fate-lavr-resample-linear: REF = $(SAMPLES)/lavr/lavr-resample-linear 55 56FATE_LAVR_RESAMPLE += fate-lavr-resample-nearest 57fate-lavr-resample-nearest: tests/data/asynth-48000-1.wav 58fate-lavr-resample-nearest: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-48000-1.wav -ar 44100 -filter_size 0 -phase_shift 0 -f s16le -af atrim=end_sample=10240 - 59fate-lavr-resample-nearest: CMP = oneoff 60fate-lavr-resample-nearest: CMP_UNIT = s16 61fate-lavr-resample-nearest: REF = $(SAMPLES)/lavr/lavr-resample-nearest 62 63FATE_LAVR_RESAMPLE-$(call FILTERDEMDECENCMUX, RESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_LAVR_RESAMPLE) 64fate-lavr-resample: $(FATE_LAVR_RESAMPLE-yes) 65#FATE_LAVR += $(FATE_LAVR_RESAMPLE-yes) 66 67FATE_SAMPLES_AVCONV += $(FATE_LAVR) 68fate-lavr: $(FATE_LAVR) 69