1fate-acodec-%: CODEC = $(@:fate-acodec-%=%)
2fate-acodec-%: SRC = tests/data/asynth-44100-2.wav
3fate-acodec-%: CMD = enc_dec wav $(SRC) $(FMT) "-b:a 128k -c $(CODEC) $(ENCOPTS)" wav "-c pcm_s16le $(DECOPTS)" -keep
4fate-acodec-%: CMP_UNIT = 2
5fate-acodec-%: REF = $(SRC_PATH)/tests/ref/acodec/$(@:fate-acodec-%=%)
6
7FATE_ACODEC_PCM-$(call ENCDEC, PCM_ALAW,  WAV) += alaw
8FATE_ACODEC_PCM-$(call ENCDEC, PCM_MULAW, WAV) += mulaw
9FATE_ACODEC_PCM-$(call ENCDEC, PCM_S8,    MOV) += s8
10FATE_ACODEC_PCM-$(call ENCDEC, PCM_U8,    WAV) += u8
11FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16BE, MOV) += s16be
12FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16LE, WAV) += s16le
13FATE_ACODEC_PCM-$(call ENCDEC, PCM_U16BE, NUT) += u16be
14FATE_ACODEC_PCM-$(call ENCDEC, PCM_U16LE, NUT) += u16le
15FATE_ACODEC_PCM-$(call ENCDEC, PCM_S24BE, MOV) += s24be
16FATE_ACODEC_PCM-$(call ENCDEC, PCM_S24LE, WAV) += s24le
17FATE_ACODEC_PCM-$(call ENCDEC, PCM_U24BE, NUT) += u24be
18FATE_ACODEC_PCM-$(call ENCDEC, PCM_U24LE, NUT) += u24le
19FATE_ACODEC_PCM-$(call ENCDEC, PCM_S32BE, MOV) += s32be
20FATE_ACODEC_PCM-$(call ENCDEC, PCM_S32LE, WAV) += s32le
21FATE_ACODEC_PCM-$(call ENCDEC, PCM_U32BE, NUT) += u32be
22FATE_ACODEC_PCM-$(call ENCDEC, PCM_U32LE, NUT) += u32le
23FATE_ACODEC_PCM-$(call ENCDEC, PCM_F32BE, AU)  += f32be
24FATE_ACODEC_PCM-$(call ENCDEC, PCM_F32LE, WAV) += f32le
25FATE_ACODEC_PCM-$(call ENCDEC, PCM_F64BE, AU)  += f64be
26FATE_ACODEC_PCM-$(call ENCDEC, PCM_F64LE, WAV) += f64le
27FATE_ACODEC_PCM-$(call ENCDEC, PCM_S8_PLANAR, NUT) += s8_planar
28FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16BE_PLANAR, NUT) += s16be_planar
29FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16LE_PLANAR, NUT) += s16le_planar
30FATE_ACODEC_PCM-$(call ENCDEC, PCM_S24LE_PLANAR, NUT) += s24le_planar
31FATE_ACODEC_PCM-$(call ENCDEC, PCM_S32LE_PLANAR, NUT) += s32le_planar
32
33FATE_ACODEC_PCM := $(FATE_ACODEC_PCM-yes:%=fate-acodec-pcm-%)
34FATE_ACODEC += $(FATE_ACODEC_PCM)
35fate-acodec-pcm: $(FATE_ACODEC_PCM)
36
37fate-acodec-pcm-%: FMT = wav
38fate-acodec-pcm-%_planar: FMT = nut
39fate-acodec-pcm-%: CODEC = pcm_$(@:fate-acodec-pcm-%=%)
40
41fate-acodec-pcm-s8:   FMT = mov
42fate-acodec-pcm-s%be: FMT = mov
43fate-acodec-pcm-u%be: FMT = nut
44fate-acodec-pcm-u%le: FMT = nut
45fate-acodec-pcm-f%be: FMT = au
46
47FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_ADX,     ADX)      += adx
48FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_ARGO,    ARGO_ASF) += argo
49FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_IMA_APM, APM)      += ima_apm
50FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_IMA_QT,  AIFF)     += ima_qt
51FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_IMA_SSI, KVAG)     += ima_ssi
52FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_IMA_WAV, WAV)      += ima_wav
53FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_MS,      WAV)      += ms
54FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_SWF,     FLV)      += swf
55FATE_ACODEC_ADPCM-$(call ENCDEC, ADPCM_YAMAHA,  WAV)      += yamaha
56
57FATE_ACODEC_ADPCM := $(FATE_ACODEC_ADPCM-yes:%=fate-acodec-adpcm-%)
58FATE_ACODEC += $(FATE_ACODEC_ADPCM)
59fate-acodec-adpcm: $(FATE_ACODEC_ADPCM)
60
61fate-acodec-adpcm-%: CODEC = adpcm_$(@:fate-acodec-adpcm-%=%)
62
63fate-acodec-adpcm-adx:     FMT = adx
64fate-acodec-adpcm-argo:    FMT = argo_asf
65fate-acodec-adpcm-ima_apm: FMT = apm
66fate-acodec-adpcm-ima_qt:  FMT = aiff
67fate-acodec-adpcm-ima_ssi: FMT = kvag
68fate-acodec-adpcm-ima_wav: FMT = wav
69fate-acodec-adpcm-ms:      FMT = wav
70fate-acodec-adpcm-swf:     FMT = flv
71fate-acodec-adpcm-yamaha:  FMT = wav
72
73FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_ADX,     ADX)  += adx
74FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_IMA_QT,  AIFF) += ima_qt
75FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_IMA_WAV, WAV)  += ima_wav
76FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_MS,      WAV)  += ms
77FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_SWF,     FLV)  += swf
78FATE_ACODEC_ADPCM_TRELLIS-$(call ENCDEC, ADPCM_YAMAHA,  WAV)  += yamaha
79
80FATE_ACODEC_ADPCM_TRELLIS := $(FATE_ACODEC_ADPCM_TRELLIS-yes:%=fate-acodec-adpcm-%-trellis)
81FATE_ACODEC += $(FATE_ACODEC_ADPCM_TRELLIS)
82fate-acodec-adpcm-trellis: $(FATE_ACODEC_ADPCM_TRELLIS)
83
84fate-acodec-adpcm-%-trellis: CODEC = adpcm_$(@:fate-acodec-adpcm-%-trellis=%)
85fate-acodec-adpcm-%-trellis: ENCOPTS = -trellis 5
86
87fate-acodec-adpcm-adx-trellis:     FMT = adx
88fate-acodec-adpcm-ima_qt-trellis:  FMT = aiff
89fate-acodec-adpcm-ima_wav-trellis: FMT = wav
90fate-acodec-adpcm-ms-trellis:      FMT = wav
91fate-acodec-adpcm-swf-trellis:     FMT = flv
92fate-acodec-adpcm-yamaha-trellis:  FMT = wav
93
94FATE_ACODEC-$(call ENCDEC, MP2, MP2 MP3) += fate-acodec-mp2
95fate-acodec-mp2: FMT = mp2
96fate-acodec-mp2: CMP_SHIFT = -1924
97fate-acodec-mp2: ENCOPTS = -b:a 128k
98
99FATE_ACODEC-$(call ENCDEC, MP2FIXED MP2 , MP2 MP3) += fate-acodec-mp2fixed
100fate-acodec-mp2fixed: FMT = mp2
101fate-acodec-mp2fixed: CMP_SHIFT = -1924
102fate-acodec-mp2fixed: ENCOPTS = -b:a 384k
103
104FATE_ACODEC-$(call ENCDEC, ALAC, MOV) += fate-acodec-alac
105fate-acodec-alac: FMT = mov
106fate-acodec-alac: CODEC = alac -compression_level 1
107
108FATE_ACODEC-$(call ENCDEC, DCA, DTS) += fate-acodec-dca
109fate-acodec-dca: tests/data/asynth-44100-2.wav
110fate-acodec-dca: SRC = tests/data/asynth-44100-2.wav
111fate-acodec-dca: CMD = md5 -i $(TARGET_PATH)/$(SRC) -c:a dca -strict -2 -f dts -flags +bitexact -af aresample
112fate-acodec-dca: CMP = oneline
113fate-acodec-dca: REF = 2aa580ac67820fce4f581b96ebb34acc
114
115FATE_ACODEC-$(call ENCDEC, DCA, WAV) += fate-acodec-dca2
116fate-acodec-dca2: CMD = enc_dec_pcm dts wav s16le $(SRC) -c:a dca -strict -2 -flags +bitexact -af aresample
117fate-acodec-dca2: REF = $(SRC)
118fate-acodec-dca2: CMP = stddev
119fate-acodec-dca2: CMP_SHIFT = -2048
120fate-acodec-dca2: CMP_TARGET = 535
121fate-acodec-dca2: SIZE_TOLERANCE = 1632
122
123FATE_ACODEC-$(call ENCDEC, FLAC, FLAC) += fate-acodec-flac fate-acodec-flac-exact-rice
124fate-acodec-flac: FMT = flac
125fate-acodec-flac: CODEC = flac -compression_level 2
126
127fate-acodec-flac-exact-rice: FMT = flac
128fate-acodec-flac-exact-rice: CODEC = flac -compression_level 2 -exact_rice_parameters 1
129
130FATE_ACODEC-$(call ENCDEC, G723_1, G723_1) += fate-acodec-g723_1
131fate-acodec-g723_1: tests/data/asynth-8000-1.wav
132fate-acodec-g723_1: SRC = tests/data/asynth-8000-1.wav
133fate-acodec-g723_1: FMT = g723_1
134fate-acodec-g723_1: CODEC = g723_1
135fate-acodec-g723_1: ENCOPTS = -b:a 6.3k
136fate-acodec-g723_1: CMP_SHIFT = 8
137
138FATE_ACODEC-$(call ENCDEC, RA_144, WAV) += fate-acodec-ra144
139fate-acodec-ra144: tests/data/asynth-8000-1.wav
140fate-acodec-ra144: SRC = tests/data/asynth-8000-1.wav
141fate-acodec-ra144: CMD = enc_dec_pcm rm wav s16le $(SRC) -c:a real_144
142fate-acodec-ra144: REF = $(SRC)
143fate-acodec-ra144: CMP = stddev
144fate-acodec-ra144: CMP_TARGET = 4777
145fate-acodec-ra144: CMP_SHIFT = -320
146
147FATE_ACODEC-$(call ENCDEC, ROQ_DPCM, ROQ) += fate-acodec-roqaudio
148fate-acodec-roqaudio: FMT = roq
149fate-acodec-roqaudio: CODEC = roq_dpcm
150fate-acodec-roqaudio: ENCOPTS = -ar 22050
151fate-acodec-roqaudio: DECOPTS = -ar 44100
152
153FATE_ACODEC-$(call ENCDEC, S302M, MPEGTS) += fate-acodec-s302m
154fate-acodec-s302m: FMT = mpegts
155fate-acodec-s302m: CODEC = s302m
156fate-acodec-s302m: ENCOPTS = -ar 48000 -strict -2
157fate-acodec-s302m: DECOPTS = -ar 44100
158
159FATE_ACODEC-$(call ENCDEC, WAVPACK, WV) += fate-acodec-wavpack
160fate-acodec-wavpack: FMT = wv
161fate-acodec-wavpack: CODEC = wavpack -compression_level 1
162
163FATE_ACODEC-$(call ENCDEC, TTA, TTA) += fate-acodec-tta
164fate-acodec-tta: FMT = tta
165
166FATE_ACODEC += $(FATE_ACODEC-yes)
167
168$(FATE_ACODEC): tests/data/asynth-44100-2.wav
169
170FATE_AVCONV += $(FATE_ACODEC)
171fate-acodec: $(FATE_ACODEC)
172