tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data
$(M)$< $(SRC_PATH)/tests/lena.pnm $@
-tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
+tests/data/ffprobe-test.nut: ffmpeg$(EXESUF) | tests/data
+ $(M)$(TARGET_EXEC) ./$< \
+ -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 $(SRC_PATH)/tests/test.ffmeta \
+ -flags +bitexact -map 0:0 -map 0:1 -map 0:2 -map_metadata 1 \
+ -map_metadata:s:0 1:s:0 -map_metadata:s:1 1:s:1 \
+ -vcodec rawvideo -acodec pcm_s16le \
+ -y $@ 2>/dev/null
+
+tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm tests/data/%.nut: TAG = GEN
+ ALLYES = $(strip $(call XYES, $(1)))
+ XYES = $(if $(strip $(1)), \
+ $(if $(CONFIG_$(firstword $(1))), \
+ $(call XYES, $(wordlist 2, $(words $(1)), $(1)))), \
+ yes)
+
+ ENCDEC = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \
+ $(firstword $(2))_MUXER $(lastword $(2))_DEMUXER)
+
+ ENCDEC2 = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \
+ $(firstword $(2))_ENCODER $(lastword $(2))_DECODER \
+ $(firstword $(3))_MUXER $(lastword $(3))_DEMUXER)
+
include $(SRC_PATH)/tests/fate/acodec.mak
include $(SRC_PATH)/tests/fate/vcodec.mak
fate-acodec-%: CODEC = $(@:fate-acodec-%=%)
fate-acodec-%: SRC = tests/data/asynth-44100-2.wav
-fate-acodec-%: CMD = enc_dec wav $(SRC) $(FMT) "-b 128k -c $(CODEC)" wav "-c pcm_s16le" -keep
+fate-acodec-%: CMD = enc_dec wav $(SRC) $(FMT) "-b 128k -c $(CODEC) $(ENCOPTS)" wav "-c pcm_s16le $(DECOPTS)" -keep
fate-acodec-%: CMP_UNIT = 2
- FATE_ACODEC_PCM = alaw mulaw \
- s8 u8 \
- s16be s16le \
- s24be s24le \
- s32be s32le \
- f32be f32le \
- f64be f64le
-
- FATE_ACODEC += $(FATE_ACODEC_PCM:%=fate-acodec-pcm-%)
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_ALAW, WAV) += alaw
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_MULAW, WAV) += mulaw
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S8, MOV) += s8
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_U8, WAV) += u8
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16BE, MOV) += s16be
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S16LE, WAV) += s16le
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S24BE, MOV) += s24be
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S24LE, WAV) += s24le
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S32BE, MOV) += s32be
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_S32LE, WAV) += s32le
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_F32BE, AU) += f32be
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_F32LE, WAV) += f32le
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_F64BE, AU) += f64be
+ FATE_ACODEC_PCM-$(call ENCDEC, PCM_F64LE, WAV) += f64le
+
+ FATE_ACODEC += $(FATE_ACODEC_PCM-yes:%=fate-acodec-pcm-%)
fate-acodec-pcm-%: FMT = wav
fate-acodec-pcm-%: CODEC = pcm_$(@:fate-acodec-pcm-%=%)
fate-acodec-alac: FMT = mov
fate-acodec-alac: CODEC = alac -compression_level 1
- FATE_ACODEC += fate-acodec-flac
+FATE_ACODEC += fate-acodec-dca
+fate-acodec-dca: tests/data/asynth-44100-2.wav
+fate-acodec-dca: SRC = tests/data/asynth-44100-2.wav
+fate-acodec-dca: CMD = md5 -i $(TARGET_PATH)/$(SRC) -c:a dca -strict -2 -f dts -flags +bitexact
+fate-acodec-dca: CMP = oneline
+fate-acodec-dca: REF = 66bd0e602be7fb97dc19151554c0ee29
+
+FATE_ACODEC += fate-acodec-dca2
+fate-acodec-dca2: CMD = enc_dec_pcm dts wav s16le $(SRC) -c:a dca -strict -2 -flags +bitexact
+fate-acodec-dca2: REF = $(SRC)
+fate-acodec-dca2: CMP = stddev
+fate-acodec-dca2: CMP_SHIFT = -1920
+fate-acodec-dca2: CMP_TARGET = 2424
+fate-acodec-dca2: SIZE_TOLERANCE = 544
+
+ FATE_ACODEC-$(call ENCDEC, FLAC, FLAC) += fate-acodec-flac
fate-acodec-flac: FMT = flac
fate-acodec-flac: CODEC = flac -compression_level 2
+FATE_ACODEC += fate-acodec-g723_1
+fate-acodec-g723_1: tests/data/asynth-8000-1.wav
+fate-acodec-g723_1: SRC = tests/data/asynth-8000-1.wav
+fate-acodec-g723_1: FMT = g723_1
+fate-acodec-g723_1: CODEC = g723_1
+fate-acodec-g723_1: ENCOPTS = -b:a 6.3k
+fate-acodec-g723_1: CMP_SHIFT = 8
+
+FATE_ACODEC += fate-acodec-ra144
+fate-acodec-ra144: tests/data/asynth-8000-1.wav
+fate-acodec-ra144: SRC = tests/data/asynth-8000-1.wav
+fate-acodec-ra144: CMD = enc_dec_pcm rm wav s16le $(SRC) -c:a real_144
+fate-acodec-ra144: REF = $(SRC)
+fate-acodec-ra144: CMP = stddev
+fate-acodec-ra144: CMP_TARGET = 4777
+fate-acodec-ra144: CMP_SHIFT = -320
+
+FATE_ACODEC += fate-acodec-roqaudio
+fate-acodec-roqaudio: FMT = roq
+fate-acodec-roqaudio: CODEC = roq_dpcm
+fate-acodec-roqaudio: ENCOPTS = -ar 22050
+fate-acodec-roqaudio: DECOPTS = -ar 44100
+
+ FATE_ACODEC += $(FATE_ACODEC-yes)
+
$(FATE_ACODEC): tests/data/asynth-44100-2.wav
FATE_AVCONV += $(FATE_ACODEC)
fate-vsynth2-%: SRC = tests/data/vsynth2.yuv
fate-vsynth%: CODEC = $(word 3, $(subst -, ,$(@)))
fate-vsynth%: FMT = avi
-fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p $(DECOPTS)" -keep
+fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)"
fate-vsynth%: CMP_UNIT = 1
- FATE_VCODEC += asv1
+FATE_VCODEC += amv
+
+ FATE_VCODEC-$(call ENCDEC, ASV1, AVI) += asv1
fate-vsynth%-asv1: ENCOPTS = -qscale 10
- FATE_VCODEC += asv2
+ FATE_VCODEC-$(call ENCDEC, ASV2, AVI) += asv2
fate-vsynth%-asv2: ENCOPTS = -qscale 10
- FATE_VCODEC += cljr
+ FATE_VCODEC-$(call ENCDEC, CLJR, AVI) += cljr
+
+ FATE_VCODEC-$(call ENCDEC, DNXHD, DNXHD) += dnxhd-720p \
+ dnxhd-720p-rd \
+ dnxhd-720p-10bit
- FATE_VCODEC += dnxhd-720p
fate-vsynth%-dnxhd-720p: ENCOPTS = -s hd720 -b 90M \
- -pix_fmt yuv422p -frames 5
+ -pix_fmt yuv422p -frames 5 -qmax 8
fate-vsynth%-dnxhd-720p: FMT = dnxhd
- FATE_VCODEC += dnxhd-720p-rd
fate-vsynth%-dnxhd-720p-rd: ENCOPTS = -s hd720 -b 90M -threads 4 -mbd rd \
- -pix_fmt yuv422p -frames 5
+ -pix_fmt yuv422p -frames 5 -qmax 8
fate-vsynth%-dnxhd-720p-rd: FMT = dnxhd
- FATE_VCODEC += dnxhd-720p-10bit
fate-vsynth%-dnxhd-720p-10bit: ENCOPTS = -s hd720 -b 90M \
- -pix_fmt yuv422p10 -frames 5
+ -pix_fmt yuv422p10 -frames 5 -qmax 8
fate-vsynth%-dnxhd-720p-10bit: FMT = dnxhd
- FATE_VCODEC += dnxhd-1080i
+ FATE_VCODEC-$(call ENCDEC, DNXHD, MOV) += dnxhd-1080i
fate-vsynth%-dnxhd-1080i: ENCOPTS = -s hd1080 -b 120M -flags +ildct \
- -pix_fmt yuv422p -frames 5
+ -pix_fmt yuv422p -frames 5 -qmax 8
fate-vsynth%-dnxhd-1080i: FMT = mov
- FATE_VCODEC += dv
+ FATE_VCODEC-$(call ENCDEC, DVVIDEO, DV) += dv dv-411 dv-50
fate-vsynth%-dv: CODEC = dvvideo
fate-vsynth%-dv: ENCOPTS = -dct int -s pal
fate-vsynth%-dv: FMT = dv
fate-vsynth%-flashsv: DECOPTS = -sws_flags area
fate-vsynth%-flashsv: FMT = flv
- FATE_VCODEC-$(CONFIG_ZLIB) += flashsv2
++FATE_VCODEC-$(call ENCDEC, FLASHSV2, FLV) += flashsv2
+fate-vsynth%-flashsv2: ENCOPTS = -sws_flags neighbor+full_chroma_int -strict experimental -compression_level 0
+fate-vsynth%-flashsv2: DECOPTS = -sws_flags area
+fate-vsynth%-flashsv2: FMT = flv
+
- FATE_VCODEC += flv
+ FATE_VCODEC-$(call ENCDEC, FLV, FLV) += flv
fate-vsynth%-flv: ENCOPTS = -qscale 10
fate-vsynth%-flv: FMT = flv
fate-vsynth%-jpegls: ENCOPTS = -sws_flags neighbor+full_chroma_int
fate-vsynth%-jpegls: DECOPTS = -sws_flags area
- FATE_VCODEC += ljpeg
+FATE_VCODEC += j2k
+fate-vsynth%-j2k: ENCOPTS = -qscale 7 -strict experimental -pix_fmt rgb24
+fate-vsynth%-j2k: DECINOPTS = -vcodec j2k -strict experimental
+
+ FATE_VCODEC-$(call ENCDEC, LJPEG MJPEG, AVI) += ljpeg
fate-vsynth%-ljpeg: ENCOPTS = -strict -1
- FATE_VCODEC += mjpeg
+ FATE_VCODEC-$(call ENCDEC, MJPEG, AVI) += mjpeg
fate-vsynth%-mjpeg: ENCOPTS = -qscale 9 -pix_fmt yuvj420p
- FATE_VCODEC += mpeg1
+ FATE_VCODEC-$(call ENCDEC, MPEG1VIDEO, MPEG1VIDEO MPEGVIDEO) += mpeg1 mpeg1b
fate-vsynth%-mpeg1: FMT = mpeg1video
fate-vsynth%-mpeg1: CODEC = mpeg1video
fate-vsynth%-mpeg1: ENCOPTS = -qscale 10
-data_partitioning 1 -mbd rd \
-ps 250 -error 10
- FATE_VCODEC += mpeg4-nr
fate-vsynth%-mpeg4-nr: ENCOPTS = -qscale 8 -flags +mv4 -mbd rd -nr 200
- FATE_VCODEC += msmpeg4
+ FATE_VCODEC-$(call ENCDEC, MSMPEG4V3, AVI) += msmpeg4
fate-vsynth%-msmpeg4: ENCOPTS = -qscale 10
- FATE_VCODEC += msmpeg4v2
+ FATE_VCODEC-$(call ENCDEC, MSMPEG4V2, AVI) += msmpeg4v2
fate-vsynth%-msmpeg4v2: ENCOPTS = -qscale 10
-FATE_VCODEC-$(call ENCDEC, PRORES, MOV) += prores
-fate-vsynth%-prores: ENCOPTS = -profile hq
+FATE_VCODEC-$(CONFIG_ZLIB) += mpng
+fate-vsynth%-mpng: CODEC = png
+
+FATE_VCODEC += msvideo1
+
- FATE_VCODEC += prores
++FATE_VCODEC-$(call ENCDEC, PRORES, MOV) += prores prores_kostya
fate-vsynth%-prores: FMT = mov
- FATE_VCODEC += prores_kostya
- fate-vsynth%-prores_kostya: ENCOPTS = -profile hq
- fate-vsynth%-prores_kostya: FMT = mov
++fate-vsynth%-prores_kostya: ENCOPTS = -profile hq
++fate-vsynth%-prores_kostya: FMT = mov
+
- FATE_VCODEC += qtrle
+ FATE_VCODEC-$(call ENCDEC, QTRLE, MOV) += qtrle
fate-vsynth%-qtrle: FMT = mov
- FATE_VCODEC += rgb
+FATE_VCODEC += qtrlegray
+fate-vsynth%-qtrlegray: CODEC = qtrle
+fate-vsynth%-qtrlegray: ENCOPTS = -pix_fmt gray
+fate-vsynth%-qtrlegray: FMT = mov
+
+ FATE_VCODEC-$(call ENCDEC, RAWVIDEO, AVI) += rgb
fate-vsynth%-rgb: CODEC = rawvideo
fate-vsynth%-rgb: ENCOPTS = -pix_fmt bgr24
- FATE_VCODEC += roqvideo
+ FATE_VCODEC-$(call ENCDEC, ROQ, ROQ) += roqvideo
fate-vsynth%-roqvideo: CODEC = roqvideo
fate-vsynth%-roqvideo: ENCOPTS = -frames 5
+fate-vsynth%-roqvideo: RAWDECOPTS = -r 30
fate-vsynth%-roqvideo: FMT = roq
- FATE_VCODEC += rv10
+ FATE_VCODEC-$(call ENCDEC, RV10, RM) += rv10
fate-vsynth%-rv10: ENCOPTS = -qscale 10
fate-vsynth%-rv10: FMT = rm
fate-vsynth%-svq1: ENCOPTS = -qscale 3 -pix_fmt yuv410p
fate-vsynth%-svq1: FMT = mov
- FATE_VCODEC += r210
++FATE_VCODEC-$(call ENCDEC, R210, AVI) += r210
+
- FATE_VCODEC += v210
+ FATE_VCODEC-$(call ENCDEC, V210, AVI) += v210
- FATE_VCODEC += wmv1
+FATE_VCODEC += v308
+
+FATE_VCODEC += v408
+fate-vsynth%-v408: ENCOPTS = -sws_flags neighbor+bitexact
+fate-vsynth%-v408: DECOPTS = -sws_flags neighbor+bitexact
+
+FATE_VCODEC += avui
+fate-vsynth%-avui: ENCOPTS = -s pal -strict experimental -sws_flags neighbor+bitexact
+fate-vsynth%-avui: DECOPTS = -sws_flags neighbor+bitexact
+fate-vsynth%-avui: FMT = mov
+
+ FATE_VCODEC-$(call ENCDEC, WMV1, AVI) += wmv1
fate-vsynth%-wmv1: ENCOPTS = -qscale 10
- FATE_VCODEC += wmv2
+ FATE_VCODEC-$(call ENCDEC, WMV2, AVI) += wmv2
fate-vsynth%-wmv2: ENCOPTS = -qscale 10
- FATE_VCODEC += yuv
+ FATE_VCODEC-$(call ENCDEC, RAWVIDEO, AVI) += yuv
fate-vsynth%-yuv: CODEC = rawvideo
+FATE_VCODEC += yuv4
+
+FATE_VCODEC += y41p
+
+FATE_VCODEC-$(CONFIG_ZLIB) += zlib
+
FATE_VCODEC += $(FATE_VCODEC-yes)
-
FATE_VSYNTH1 = $(FATE_VCODEC:%=fate-vsynth1-%)
FATE_VSYNTH2 = $(FATE_VCODEC:%=fate-vsynth2-%)