+CODEC_TESTS = $(addprefix regtest-, \
+ mpeg \
+ mpeg2 \
+ mpeg2thread \
+ msmpeg4v2 \
+ msmpeg4 \
+ wmv1 \
+ wmv2 \
+ h261 \
+ h263 \
+ h263p \
+ mpeg4 \
+ huffyuv \
+ rc \
+ mpeg4adv \
+ mpeg4thread \
+ error \
+ mpeg4nr \
+ mpeg1b \
+ mjpeg \
+ ljpeg \
+ jpegls \
+ rv10 \
+ rv20 \
+ asv1 \
+ asv2 \
+ flv \
+ ffv1 \
+ snow \
+ snowll \
+ dv \
+ dv50 \
+ svq1 \
+ flashsv \
+ mp2 \
+ ac3 \
+ g726 \
+ adpcm_ima_wav \
+ adpcm_ima_qt \
+ adpcm_ms \
+ adpcm_yam \
+ adpcm_swf \
+ flac \
+ wma \
+ )
+
+LAVF_TESTS = $(addprefix regtest-, \
+ avi \
+ asf \
+ rm \
+ mpg \
+ ts \
+ swf \
+ ffm \
+ flv_fmt \
+ mov \
+ dv_fmt \
+ gxf \
+ nut \
+ mkv \
+ pbmpipe \
+ pgmpipe \
+ ppmpipe \
+ gif \
+ yuv4mpeg \
+ pgm \
+ ppm \
+ bmp \
+ tga \
+ tiff \
+ sgi \
+ jpg \
+ wav \
+ alaw \
+ mulaw \
+ au \
+ mmf \
+ aiff \
+ voc \
+ ogg \
+ pixfmt \
+ )
+
+REGFILES = $(addprefix tests/data/,$(addsuffix .$(1),$(2:regtest-%=%)))
+
+CODEC_ROTOZOOM = $(call REGFILES,rotozoom.regression,$(CODEC_TESTS))
+CODEC_VSYNTH = $(call REGFILES,vsynth.regression,$(CODEC_TESTS))
+
+LAVF_REGFILES = $(call REGFILES,lavf.regression,$(LAVF_TESTS))
+
+LAVF_REG = tests/data/lavf.regression
+ROTOZOOM_REG = tests/data/rotozoom.regression
+VSYNTH_REG = tests/data/vsynth.regression
+
+codectest: $(VSYNTH_REG) $(ROTOZOOM_REG)
+ diff -u -w $(FFMPEG_REFFILE) $(VSYNTH_REG)
+ diff -u -w $(ROTOZOOM_REFFILE) $(ROTOZOOM_REG)
+
+libavtest: $(LAVF_REG)
+ diff -u -w $(LIBAV_REFFILE) $(LAVF_REG)
+
+$(VSYNTH_REG) $(ROTOZOOM_REG) $(LAVF_REG):
+ cat $^ > $@
+
+$(LAVF_REG): $(LAVF_REGFILES)
+$(ROTOZOOM_REG): $(CODEC_ROTOZOOM)
+$(VSYNTH_REG): $(CODEC_VSYNTH)
+
+$(CODEC_VSYNTH) $(CODEC_ROTOZOOM): $(CODEC_TESTS)
+
+$(LAVF_REGFILES): $(LAVF_TESTS)
+
+$(CODEC_TESTS) $(LAVF_TESTS): regtest-ref
+
+regtest-ref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm tests/asynth1.sw
+
+$(CODEC_TESTS) regtest-ref: tests/tiny_psnr$(EXESUF)
+ $(SRC_PATH)/tests/regression.sh $@ vsynth tests/vsynth1 a
+ $(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2 a
+
+$(LAVF_TESTS):
+ $(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1 b
+
+seektest: codectest libavtest tests/seek_test$(EXESUF)
+ $(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE)
+