1FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADELAY, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-adelay
2fate-filter-adelay: tests/data/asynth-44100-2.wav
3fate-filter-adelay: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
4fate-filter-adelay: CMD = framecrc -i $(SRC) -af aresample,adelay=42,aresample
5
6FATE_AFILTER-$(call FILTERDEMDECENCMUX, AECHO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aecho
7fate-filter-aecho: tests/data/asynth-44100-2.wav
8fate-filter-aecho: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
9fate-filter-aecho: CMD = framecrc -i $(SRC) -af aresample,aecho=0.5:0.5:32:0.5,aresample
10
11FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-50fm
12fate-filter-aemphasis-50fm: tests/data/asynth-44100-2.wav
13fate-filter-aemphasis-50fm: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
14fate-filter-aemphasis-50fm: CMD = framecrc -i $(SRC) -af aresample,aemphasis=1:5:reproduction:50fm,aresample
15
16FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-75kf
17fate-filter-aemphasis-75kf: tests/data/asynth-44100-2.wav
18fate-filter-aemphasis-75kf: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
19fate-filter-aemphasis-75kf: CMD = framecrc -i $(SRC) -af aresample,aemphasis=2:8:reproduction:75kf,aresample
20
21FATE_AFILTER-$(call FILTERDEMDECENCMUX, AEMPHASIS, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AEMPHASIS)
22
23FATE_FILTER_AFADE += fate-filter-afade-qsin
24fate-filter-afade-qsin: tests/data/asynth-44100-2.wav
25fate-filter-afade-qsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
26fate-filter-afade-qsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=qsin
27
28FATE_FILTER_AFADE += fate-filter-afade-iqsin
29fate-filter-afade-iqsin: tests/data/asynth-44100-2.wav
30fate-filter-afade-iqsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
31fate-filter-afade-iqsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=iqsin
32
33FATE_FILTER_AFADE += fate-filter-afade-esin
34fate-filter-afade-esin: tests/data/asynth-44100-2.wav
35fate-filter-afade-esin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
36fate-filter-afade-esin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=esin
37
38FATE_FILTER_AFADE += fate-filter-afade-hsin
39fate-filter-afade-hsin: tests/data/asynth-44100-2.wav
40fate-filter-afade-hsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
41fate-filter-afade-hsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=hsin
42
43FATE_FILTER_AFADE += fate-filter-afade-exp
44fate-filter-afade-exp: tests/data/asynth-44100-2.wav
45fate-filter-afade-exp: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
46fate-filter-afade-exp: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=exp
47
48FATE_FILTER_AFADE += fate-filter-afade-log
49fate-filter-afade-log: tests/data/asynth-44100-2.wav
50fate-filter-afade-log: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
51fate-filter-afade-log: CMD = framecrc -i $(SRC) -af afade=t=in:ss=1:d=2.5:curve=log
52
53FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AFADE)
54
55FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ACROSSFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-acrossfade
56fate-filter-acrossfade: tests/data/asynth-44100-2.wav
57fate-filter-acrossfade: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
58fate-filter-acrossfade: SRC2 = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
59fate-filter-acrossfade: CMD = framecrc -i $(SRC) -i $(SRC2) -filter_complex acrossfade=d=2:c1=log:c2=exp
60
61FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-agate
62fate-filter-agate: tests/data/asynth-44100-2.wav
63fate-filter-agate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
64fate-filter-agate: CMD = framecrc -i $(SRC) -af aresample,agate=level_in=10:range=0:threshold=1:ratio=1:attack=1:knee=1:makeup=4,aresample
65
66FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-alimiter
67fate-filter-alimiter: tests/data/asynth-44100-2.wav
68fate-filter-alimiter: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
69fate-filter-alimiter: CMD = framecrc -i $(SRC) -af aresample,alimiter=level_in=1:level_out=2:limit=0.2,aresample
70
71FATE_AFILTER-$(call FILTERDEMDECENCMUX, AMERGE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-amerge
72fate-filter-amerge: tests/data/asynth-44100-1.wav
73fate-filter-amerge: SRC = $(TARGET_PATH)/tests/data/asynth-44100-1.wav
74fate-filter-amerge: CMD = framecrc -i $(SRC) -i $(SRC) -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]"
75
76FATE_AFILTER-$(call FILTERDEMDECENCMUX, APAD, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-apad
77fate-filter-apad: tests/data/asynth-44100-2.wav
78fate-filter-apad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
79fate-filter-apad: CMD = framecrc -i $(SRC) -af apad=pad_len=10
80
81FATE_AFILTER-$(call FILTERDEMDECENCMUX, ANEQUALIZER, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-anequalizer
82fate-filter-anequalizer: tests/data/asynth-44100-2.wav
83fate-filter-anequalizer: tests/data/filtergraphs/anequalizer
84fate-filter-anequalizer: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
85fate-filter-anequalizer: CMD = framecrc -auto_conversion_filters -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/anequalizer
86
87FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETNSAMPLES, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetnsamples-pad
88fate-filter-asetnsamples-pad: tests/data/asynth-44100-2.wav
89fate-filter-asetnsamples-pad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
90fate-filter-asetnsamples-pad: CMD = framecrc -i $(SRC) -af asetnsamples=512:p=1
91
92FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETNSAMPLES, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetnsamples-nopad
93fate-filter-asetnsamples-nopad: tests/data/asynth-44100-2.wav
94fate-filter-asetnsamples-nopad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
95fate-filter-asetnsamples-nopad: CMD = framecrc -i $(SRC) -af asetnsamples=512:p=0
96
97FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETRATE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetrate
98fate-filter-asetrate: tests/data/asynth-44100-2.wav
99fate-filter-asetrate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
100fate-filter-asetrate: CMD = framecrc -i $(SRC) -frames:a 20 -af asetrate=20000
101
102FATE_AFILTER-$(call FILTERDEMDECENCMUX, CHORUS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-chorus
103fate-filter-chorus: tests/data/asynth-22050-1.wav
104fate-filter-chorus: SRC = $(TARGET_PATH)/tests/data/asynth-22050-1.wav
105fate-filter-chorus: CMD = framecrc -i $(SRC) -frames:a 10 -af aresample,chorus=0.050001:0.050002:64:0.050001:0.025003:2.00004,aresample
106
107FATE_AFILTER-$(call FILTERDEMDECENCMUX, DCSHIFT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-dcshift
108fate-filter-dcshift: tests/data/asynth-44100-2.wav
109fate-filter-dcshift: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
110fate-filter-dcshift: CMD = framecrc -i $(SRC) -frames:a 20 -af aresample,dcshift=shift=0.25:limitergain=0.05,aresample
111
112FATE_AFILTER-$(call FILTERDEMDECENCMUX, EARWAX, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-earwax
113fate-filter-earwax: tests/data/asynth-44100-2.wav
114fate-filter-earwax: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
115fate-filter-earwax: CMD = framecrc -i $(SRC) -frames:a 20 -af aresample,earwax,aresample
116
117FATE_AFILTER-$(call FILTERDEMDECENCMUX, EXTRASTEREO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-extrastereo
118fate-filter-extrastereo: tests/data/asynth-44100-2.wav
119fate-filter-extrastereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
120fate-filter-extrastereo: CMD = framecrc -i $(SRC) -frames:a 20 -af aresample,extrastereo=m=2,aresample
121
122FATE_AFILTER-$(call FILTERDEMDECENCMUX, FIREQUALIZER ATRIM VOLUME, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-firequalizer
123fate-filter-firequalizer: tests/data/asynth-44100-2.wav
124fate-filter-firequalizer: tests/data/filtergraphs/firequalizer
125fate-filter-firequalizer: REF = tests/data/asynth-44100-2.wav
126fate-filter-firequalizer: CMD = ffmpeg -auto_conversion_filters -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -filter_script $(TARGET_PATH)/tests/data/filtergraphs/firequalizer -f wav -c:a pcm_s16le -
127fate-filter-firequalizer: CMP = oneoff
128fate-filter-firequalizer: CMP_UNIT = s16
129fate-filter-firequalizer: SIZE_TOLERANCE = 1058400 - 1097208
130
131FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-mono1
132fate-filter-pan-mono1: tests/data/asynth-44100-2.wav
133fate-filter-pan-mono1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
134fate-filter-pan-mono1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=mono|FC=FL"
135
136FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-mono2
137fate-filter-pan-mono2: tests/data/asynth-44100-2.wav
138fate-filter-pan-mono2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
139fate-filter-pan-mono2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=1C|c0=c0+c1"
140
141FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo1
142fate-filter-pan-stereo1: tests/data/asynth-44100-3.wav
143fate-filter-pan-stereo1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-3.wav
144fate-filter-pan-stereo1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL=FR|FR=FL"
145
146FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo2
147fate-filter-pan-stereo2: tests/data/asynth-44100-3.wav
148fate-filter-pan-stereo2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-3.wav
149fate-filter-pan-stereo2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=stereo|c0=c0-c2|c1=c1-c2"
150
151FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo3
152fate-filter-pan-stereo3: tests/data/asynth-44100-2.wav
153fate-filter-pan-stereo3: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
154fate-filter-pan-stereo3: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=FL+FR|FL<3*c0+2*c1|FR<2*c0+3*c1"
155
156FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo4
157fate-filter-pan-stereo4: tests/data/asynth-44100-2.wav
158fate-filter-pan-stereo4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
159fate-filter-pan-stereo4: CMD = framecrc -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=2C|c0=c0-0.5*c1|c1=c1+0.5*c0"
160
161FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-upmix1
162fate-filter-pan-upmix1: tests/data/asynth-44100-2.wav
163fate-filter-pan-upmix1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
164fate-filter-pan-upmix1: CMD = framecrc -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=4C|c0=c0-0.5*c1|c1=c1+0.5*c0|c2=0*c0|c3=0*c0"
165
166FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-upmix2
167fate-filter-pan-upmix2: tests/data/asynth-44100-4.wav
168fate-filter-pan-upmix2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-4.wav
169fate-filter-pan-upmix2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=9C|c0=c0-c1|c1=c2+c3|c2=c0+c1|c3=c2-c3|c4=c1-c0|c5=c3+c2|c6=c1+c0|c7=c3-c2|c8=c0-c3"
170
171FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-downmix1
172fate-filter-pan-downmix1: tests/data/asynth-44100-4.wav
173fate-filter-pan-downmix1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-4.wav
174fate-filter-pan-downmix1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL<FL+0.5*FC+0.6*BL+0.6*SL|FR<FR+0.5*FC+0.6*BR+0.6*SR"
175
176FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-downmix2
177fate-filter-pan-downmix2: tests/data/asynth-44100-11.wav
178fate-filter-pan-downmix2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-11.wav
179fate-filter-pan-downmix2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=5C|c0=0.7*c0+0.7*c10|c1=c9|c2=c8|c3=c7|c4=c6"
180
181FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, SILENCEREMOVE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-silenceremove
182fate-filter-silenceremove: SRC = $(TARGET_SAMPLES)/audio-reference/divertimenti_2ch_96kHz_s24.wav
183fate-filter-silenceremove: CMD = framecrc -i $(SRC) -frames:a 30 -af aresample,silenceremove=start_periods=0:start_duration=0:start_threshold=0:stop_periods=-1:stop_duration=0:stop_threshold=-90dB,aresample
184
185FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, STEREOTOOLS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-stereotools
186fate-filter-stereotools: SRC = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
187fate-filter-stereotools: CMD = framecrc -i $(SRC) -frames:a 20 -af aresample,stereotools=mlev=0.015625,aresample
188
189FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, TREMOLO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-tremolo
190fate-filter-tremolo: tests/data/asynth-44100-2.wav
191fate-filter-tremolo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
192fate-filter-tremolo: CMD = ffmpeg -auto_conversion_filters -i $(SRC) -frames:a 20 -af tremolo -f wav -f s16le -
193fate-filter-tremolo: REF = $(SAMPLES)/filter/tremolo.pcm
194fate-filter-tremolo: CMP = oneoff
195fate-filter-tremolo: CMP_UNIT = s16
196
197FATE_AFILTER-$(call FILTERDEMDECENCMUX, COMPAND, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-compand
198fate-filter-compand: tests/data/asynth-44100-2.wav
199fate-filter-compand: tests/data/filtergraphs/compand
200fate-filter-compand: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
201fate-filter-compand: CMD = framecrc -auto_conversion_filters -i $(SRC) -frames:a 20 -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/compand
202
203tests/data/hls-list.m3u8: TAG = GEN
204tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
205	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
206        -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 \
207        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/hls-out-%03d.ts 2>/dev/null
208
209FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls
210fate-filter-hls: tests/data/hls-list.m3u8
211fate-filter-hls: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list.m3u8 -af aresample
212
213tests/data/hls-list-append.m3u8: TAG = GEN
214tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
215	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
216        -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 \
217        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/hls-append-out-%03d.ts 2>/dev/null; \
218        $(TARGET_EXEC) $(TARGET_PATH)/$< \
219        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 10 -map 0 -flags +bitexact \
220        -hls_flags append_list -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls-append-out-%03d.ts \
221        $(TARGET_PATH)/tests/data/hls-list-append.m3u8 2>/dev/null
222
223FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls-append
224fate-filter-hls-append: tests/data/hls-list-append.m3u8
225fate-filter-hls-append: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list-append.m3u8 -af asetpts=N*23,aresample
226
227FATE_AMIX += fate-filter-amix-simple
228fate-filter-amix-simple: CMD = ffmpeg -auto_conversion_filters -filter_complex amix -i $(SRC) -ss 3 -i $(SRC1) -f f32le -
229fate-filter-amix-simple: REF = $(SAMPLES)/filter/amix_simple.pcm
230
231FATE_AMIX += fate-filter-amix-first
232fate-filter-amix-first: CMD = ffmpeg -auto_conversion_filters -filter_complex amix=duration=first -ss 4 -i $(SRC) -i $(SRC1) -f f32le -
233fate-filter-amix-first: REF = $(SAMPLES)/filter/amix_first.pcm
234
235FATE_AMIX += fate-filter-amix-transition
236fate-filter-amix-transition: tests/data/asynth-44100-2-3.wav
237fate-filter-amix-transition: SRC2 = $(TARGET_PATH)/tests/data/asynth-44100-2-3.wav
238fate-filter-amix-transition: CMD = ffmpeg -auto_conversion_filters -filter_complex amix=inputs=3:dropout_transition=0.5 -i $(SRC) -ss 2 -i $(SRC1) -ss 4 -i $(SRC2) -f f32le -
239fate-filter-amix-transition: REF = $(SAMPLES)/filter/amix_transition.pcm
240
241FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, AMIX, WAV, PCM_S16LE, PCM_F32LE, PCM_F32LE) += $(FATE_AMIX)
242$(FATE_AMIX): tests/data/asynth-44100-2.wav tests/data/asynth-44100-2-2.wav
243$(FATE_AMIX): SRC  = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
244$(FATE_AMIX): SRC1 = $(TARGET_PATH)/tests/data/asynth-44100-2-2.wav
245$(FATE_AMIX): CMP  = oneoff
246$(FATE_AMIX): CMP_UNIT = f32
247
248FATE_AFILTER_SAMPLES-$(CONFIG_ARESAMPLE_FILTER) += fate-filter-aresample
249fate-filter-aresample: SRC = $(TARGET_SAMPLES)/nellymoser/nellymoser-discont.flv
250fate-filter-aresample: CMD = pcm -analyzeduration 10000000 -i $(SRC) -af aresample=min_comp=0.001:min_hard_comp=0.1:first_pts=0
251fate-filter-aresample: CMP = oneoff
252fate-filter-aresample: REF = $(SAMPLES)/nellymoser/nellymoser-discont.pcm
253
254FATE_ATRIM += fate-filter-atrim-duration
255fate-filter-atrim-duration: CMD = framecrc -i $(SRC) -af atrim=start=0.1:duration=0.01
256FATE_ATRIM += fate-filter-atrim-mixed
257fate-filter-atrim-mixed: CMD = framecrc -i $(SRC) -af atrim=start=0.05:start_sample=1025:end=0.1:end_sample=4411
258
259FATE_ATRIM += fate-filter-atrim-samples
260fate-filter-atrim-samples: CMD = framecrc -i $(SRC) -af atrim=start_sample=26:end_sample=80
261
262FATE_ATRIM += fate-filter-atrim-time
263fate-filter-atrim-time: CMD = framecrc -i $(SRC) -af atrim=0.1:0.2
264
265$(FATE_ATRIM): tests/data/asynth-44100-2.wav
266$(FATE_ATRIM): SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
267
268FATE_AFILTER-$(call FILTERDEMDECENCMUX, ATRIM, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_ATRIM)
269
270FATE_FILTER_CHANNELMAP += fate-filter-channelmap-one-int
271fate-filter-channelmap-one-int: tests/data/filtergraphs/channelmap_one_int
272fate-filter-channelmap-one-int: SRC = $(TARGET_PATH)/tests/data/asynth-44100-6.wav
273fate-filter-channelmap-one-int: tests/data/asynth-44100-6.wav
274fate-filter-channelmap-one-int: CMD = md5 -auto_conversion_filters -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/channelmap_one_int -f wav -fflags +bitexact
275fate-filter-channelmap-one-int: CMP = oneline
276fate-filter-channelmap-one-int: REF = 8cfe553d65ed4696756d8c1b824fcdd3
277
278FATE_FILTER_CHANNELMAP += fate-filter-channelmap-one-str
279fate-filter-channelmap-one-str: tests/data/filtergraphs/channelmap_one_str
280fate-filter-channelmap-one-str: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
281fate-filter-channelmap-one-str: tests/data/asynth-44100-2.wav
282fate-filter-channelmap-one-str: CMD = md5 -auto_conversion_filters -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/channelmap_one_str -f wav -fflags +bitexact
283fate-filter-channelmap-one-str: CMP = oneline
284fate-filter-channelmap-one-str: REF = 0ea3052e482c95d5d3bd9da6dac1b5fa
285
286FATE_AFILTER-$(call FILTERDEMDECENCMUX, CHANNELMAP, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_CHANNELMAP)
287
288FATE_AFILTER-$(call FILTERDEMDECENCMUX, CHANNELSPLIT, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE) += fate-filter-channelsplit
289fate-filter-channelsplit: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
290fate-filter-channelsplit: tests/data/asynth-44100-2.wav
291fate-filter-channelsplit: CMD = md5 -auto_conversion_filters -i $(SRC) -filter_complex channelsplit -f s16le
292fate-filter-channelsplit: CMP = oneline
293fate-filter-channelsplit: REF = d92988d0fe2dd92236763f47b07ab597
294
295FATE_AFILTER-$(call FILTERDEMDECENCMUX, JOIN, WAV, PCM_S16LE, PCM_S16LE, PCM_S16LE) += fate-filter-join
296fate-filter-join: SRC1 = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
297fate-filter-join: SRC2 = $(TARGET_PATH)/tests/data/asynth-44100-3.wav
298fate-filter-join: tests/data/asynth-44100-2.wav tests/data/asynth-44100-3.wav
299fate-filter-join: CMD = md5 -auto_conversion_filters -i $(SRC1) -i $(SRC2) -filter_complex join=channel_layout=5c -f s16le
300fate-filter-join: CMP = oneline
301fate-filter-join: REF = 88b0d24a64717ba8635b29e8dac6ecd8
302
303FATE_AFILTER-$(call ALLYES, WAV_DEMUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER PCM_S16LE_MUXER APERMS_FILTER VOLUME_FILTER) += fate-filter-volume
304fate-filter-volume: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
305fate-filter-volume: tests/data/asynth-44100-2.wav
306fate-filter-volume: CMD = md5 -i $(SRC) -af aperms=random,volume=precision=fixed:volume=0.5 -f s16le
307fate-filter-volume: CMP = oneline
308fate-filter-volume: REF = 4d6ba75ef3e32d305d066b9bc771d6f4
309
310# hdcd-mix.flac is a mix of three different sources which are interesting for various reasons:
311# first 5 seconds uses packet format A and max LLE of -7.0db
312# second 5 seconds uses packet format B and has a gain mismatch between channels
313# last 10 seconds is not HDCD but has a coincidental HDCD packet, it needs to be 10 seconds because it also tests the cdt expiration
314FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mix
315fate-filter-hdcd-mix: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
316fate-filter-hdcd-mix: CMD = md5 -i $(SRC) -af hdcd -f s24le
317fate-filter-hdcd-mix: CMP = oneline
318fate-filter-hdcd-mix: REF = 77443573e0bd3532de52a8bc0e825da7
319
320# output will be different because of the gain mismatch in the second and third parts
321FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mix-psoff
322fate-filter-hdcd-mix-psoff: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
323fate-filter-hdcd-mix-psoff: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -f s24le
324fate-filter-hdcd-mix-psoff: CMP = oneline
325fate-filter-hdcd-mix-psoff: REF = 89e57885917a436b30855db4d478cefb
326
327# test the different analyze modes
328FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-pe
329fate-filter-hdcd-analyze-pe: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
330fate-filter-hdcd-analyze-pe: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe -f s24le
331fate-filter-hdcd-analyze-pe: CMP = oneline
332fate-filter-hdcd-analyze-pe: REF = 2d839d8a1cf73b10a566ce3d4cfaa79e
333FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-lle
334fate-filter-hdcd-analyze-lle: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
335fate-filter-hdcd-analyze-lle: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=lle -f s24le
336fate-filter-hdcd-analyze-lle: CMP = oneline
337fate-filter-hdcd-analyze-lle: REF = b4b185332b7025c191062f49a2c015f1
338FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-cdt
339fate-filter-hdcd-analyze-cdt: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
340fate-filter-hdcd-analyze-cdt: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=cdt -f s24le
341fate-filter-hdcd-analyze-cdt: CMP = oneline
342fate-filter-hdcd-analyze-cdt: REF = afa6577675c63e87da3edbd442b7b6e2
343FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-tgm
344fate-filter-hdcd-analyze-tgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
345fate-filter-hdcd-analyze-tgm: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=tgm -f s24le
346fate-filter-hdcd-analyze-tgm: CMP = oneline
347fate-filter-hdcd-analyze-tgm: REF = 285f0fd2249b4903cd5e1ad5ce004219
348# the two additional analyze modes from libhdcd
349FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-ltgm
350fate-filter-hdcd-analyze-ltgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
351fate-filter-hdcd-analyze-ltgm: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=lle:process_stereo=false -f s24le
352fate-filter-hdcd-analyze-ltgm: CMP = oneline
353fate-filter-hdcd-analyze-ltgm: REF = 404dc2301ea97e9f96c3d6d2ebcfeaa5
354FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-pel
355fate-filter-hdcd-analyze-pel: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
356fate-filter-hdcd-analyze-pel: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe:force_pe=true -f s24le
357fate-filter-hdcd-analyze-pel: CMP = oneline
358fate-filter-hdcd-analyze-pel: REF = 9342983208ec1a7f2b3e332ac4dcb723
359
360FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-false-positive
361fate-filter-hdcd-false-positive: SRC = $(TARGET_SAMPLES)/filter/hdcd-false-positive.flac
362fate-filter-hdcd-false-positive: CMD = md5 -i $(SRC) -af hdcd -f s24le
363fate-filter-hdcd-false-positive: CMP = grep
364fate-filter-hdcd-false-positive: REF = HDCD detected: no
365
366FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-detect-errors
367fate-filter-hdcd-detect-errors: SRC = $(TARGET_SAMPLES)/filter/hdcd-encoding-errors.flac
368fate-filter-hdcd-detect-errors: CMD = md5 -i $(SRC) -af hdcd -f s24le
369fate-filter-hdcd-detect-errors: CMP = grep
370fate-filter-hdcd-detect-errors: REF = detectable errors: [1-9]
371
372# 20bit HDCD
373FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-20bit
374fate-filter-hdcd-20bit: SRC = $(TARGET_SAMPLES)/filter/hdcd-fake20bit.flac
375fate-filter-hdcd-20bit: CMD = md5 -i $(SRC) -af hdcd=bits_per_sample=20 -f s32le
376fate-filter-hdcd-20bit: CMP = oneline
377fate-filter-hdcd-20bit: REF = 365ded883a4a92483b15b69babc81390
378
379# non-hdcd tests of different input formats for code coverage
380FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WAV, PCM_S16LE, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mono
381fate-filter-hdcd-mono: SRC = $(TARGET_SAMPLES)/audiomatch/tones_44100_mono.wav
382fate-filter-hdcd-mono: CMD = md5 -i $(SRC) -af hdcd -f s24le
383fate-filter-hdcd-mono: CMP = oneline
384fate-filter-hdcd-mono: REF = f51b114b20728e6a463a9491c643d166
385FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WV, WAVPACK, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-s16p
386fate-filter-hdcd-s16p: SRC = $(TARGET_SAMPLES)/wavpack/lossless/16bit-partial.wv
387fate-filter-hdcd-s16p: CMD = md5 -i $(SRC) -af hdcd -f s32le
388fate-filter-hdcd-s16p: CMP = oneline
389fate-filter-hdcd-s16p: REF = 4e767f436b891ac59810a8b2b1d7e96b
390FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WV, WAVPACK, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-s32p
391fate-filter-hdcd-s32p: SRC = $(TARGET_SAMPLES)/wavpack/lossless/24bit-partial.wv
392fate-filter-hdcd-s32p: CMD = md5 -i $(SRC) -af hdcd -f s32le
393fate-filter-hdcd-s32p: CMP = oneline
394fate-filter-hdcd-s32p: REF = 0c5513e83eedaa10ab6fac9ddc173cf5
395
396FATE_AFILTER-yes += fate-filter-formats
397fate-filter-formats: libavfilter/tests/formats$(EXESUF)
398fate-filter-formats: CMD = run libavfilter/tests/formats$(EXESUF)
399
400FATE_SAMPLES_AVCONV += $(FATE_AFILTER_SAMPLES-yes)
401FATE_FFMPEG += $(FATE_AFILTER-yes)
402fate-afilter: $(FATE_AFILTER-yes) $(FATE_AFILTER_SAMPLES-yes)
403