Commit 4383ed5c authored by Måns Rullgård's avatar Måns Rullgård
Browse files

split regression tests allowing make to run them in parallel

Originally committed as revision 11832 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent d2e40fe5
......@@ -264,6 +264,97 @@ LIBAV_REFFILE = $(SRC_PATH)/tests/libav.regression.ref
ROTOZOOM_REFFILE = $(SRC_PATH)/tests/rotozoom.regression.ref
SEEK_REFFILE = $(SRC_PATH)/tests/seek.regression.ref
CODEC_TESTS = $(addprefix regtest-, \
mpeg \
mpeg2 \
mpeg2thread \
msmpeg4v2 \
msmpeg4 \
wmv1 \
wmv2 \
h261 \
h263 \
h263p \
mpeg4 \
huffyuv \
rc \
mpeg4adv \
mpeg4thread \
mp4psp \
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_ms \
adpcm_yam \
adpcm_swf \
flac \
wma \
)
LAVF_TESTS = regtest-lavf
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 $(FFMPEG_REFFILE) $(VSYNTH_REG)
diff -u $(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
$(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2
$(LAVF_TESTS):
$(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1
seektest: codectest libavtest tests/seek_test$(EXESUF)
$(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE)
test-server: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw
@echo
@echo "Unfortunately ffserver is broken and therefore its regression"
......@@ -271,18 +362,8 @@ test-server: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw
@echo
$(SRC_PATH)/tests/server-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/test.conf
codectest mpeg4 mpeg ac3 snow snowll: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm tests/asynth1.sw tests/tiny_psnr$(EXESUF)
$(SRC_PATH)/tests/regression.sh $@ $(FFMPEG_REFFILE) tests/vsynth1
$(SRC_PATH)/tests/regression.sh $@ $(ROTOZOOM_REFFILE) tests/vsynth2
libavtest: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw
$(SRC_PATH)/tests/regression.sh $@ $(LIBAV_REFFILE) tests/vsynth1
seektest: codectest libavtest tests/seek_test$(EXESUF)
$(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE)
ifeq ($(CONFIG_SWSCALER),yes)
test-server codectest mpeg4 mpeg ac3 snow snowll libavtest: swscale_error
test-server codectest $(CODEC_TESTS) libavtest: swscale_error
swscale_error:
@echo
@echo "This regression test is incompatible with --enable-swscaler."
......@@ -311,7 +392,7 @@ tests/seek_test$(EXESUF): tests/seek_test.c .libs
.PHONY: all lib videohook documentation install* wininstaller uninstall*
.PHONY: dep depend clean distclean TAGS
.PHONY: codectest libavtest seektest test-server fulltest test
.PHONY: mpeg4 mpeg ac3 snow snowll swscale-error
.PHONY: $(CODEC_TESTS) $(LAVF_TESTS) regtest-ref swscale-error
-include .depend
-include .vhookdep
ffmpeg regression test
dd4c189859399f7f251876be8e26e4f3 *./tests/data/a-mpeg1.mpg
722848 ./tests/data/a-mpeg1.mpg
78d202830e5ce5a67495ab14ebe6469e *./tests/data/out.yuv
78d202830e5ce5a67495ab14ebe6469e *./tests/data/mpeg.vsynth.out.yuv
stddev: 7.65 PSNR:30.44 bytes:7602176
f3b008355f68394b6cad694f3488ea2b *./tests/data/a-mpeg2.mpg
736978 ./tests/data/a-mpeg2.mpg
9f364a477987c3b14412e303b94377ca *./tests/data/out.yuv
9f364a477987c3b14412e303b94377ca *./tests/data/mpeg2.vsynth.out.yuv
stddev: 7.68 PSNR:30.41 bytes:7602176
3236c7550f66fe1f0a1526b02b72c0df *./tests/data/a-mpeg2ivlc-qprd.mpg
707911 ./tests/data/a-mpeg2ivlc-qprd.mpg
8a0112b8a26301ccaca49c28b30d387b *./tests/data/out.yuv
8a0112b8a26301ccaca49c28b30d387b *./tests/data/mpeg2.vsynth.out.yuv
stddev: 12.21 PSNR:26.38 bytes:7602176
2566ea5760247a9485c8281cb52291a8 *./tests/data/a-mpeg2.mpg
735853 ./tests/data/a-mpeg2.mpg
55c22a09e4924977ee2cc4180078d3ae *./tests/data/out.yuv
55c22a09e4924977ee2cc4180078d3ae *./tests/data/mpeg2.vsynth.out.yuv
stddev: 7.67 PSNR:30.42 bytes:7602176
0093ab9141105dec8dc4452ba8f0ab6f *./tests/data/a-mpeg2i.mpg
749746 ./tests/data/a-mpeg2i.mpg
5189af71e6aa96cc2f6452e7f6b29287 *./tests/data/out.yuv
5189af71e6aa96cc2f6452e7f6b29287 *./tests/data/mpeg2.vsynth.out.yuv
stddev: 7.68 PSNR:30.41 bytes:7602176
69576facff13d45171e3a6c53b8018c4 *./tests/data/a-mpeg2thread.mpg
813459 ./tests/data/a-mpeg2thread.mpg
c0e8cbde76ff8377494fe6843fd03e11 *./tests/data/out.yuv
c0e8cbde76ff8377494fe6843fd03e11 *./tests/data/mpeg2thread.vsynth.out.yuv
stddev: 7.63 PSNR:30.47 bytes:7602176
17af99d1a7fc391242a809b0782263af *./tests/data/a-mpeg2threadivlc.mpg
803833 ./tests/data/a-mpeg2threadivlc.mpg
c0e8cbde76ff8377494fe6843fd03e11 *./tests/data/out.yuv
c0e8cbde76ff8377494fe6843fd03e11 *./tests/data/mpeg2thread.vsynth.out.yuv
stddev: 7.63 PSNR:30.47 bytes:7602176
c8d8b07b5fa97e0affb4a52d4d30a2b6 *./tests/data/a-mpeg2reuse.mpg
2102956 ./tests/data/a-mpeg2reuse.mpg
75d3dfc8133f0122cb9e272a21bc8c5c *./tests/data/out.yuv
75d3dfc8133f0122cb9e272a21bc8c5c *./tests/data/mpeg2thread.vsynth.out.yuv
stddev: 7.67 PSNR:30.42 bytes:7602176
c83ae8d8f3e2b4506df58e6a2f7e3b2a *./tests/data/a-msmpeg4v2.avi
636512 ./tests/data/a-msmpeg4v2.avi
279c33c2f6f58b7eb3d2daaa87160cb5 *./tests/data/out.yuv
279c33c2f6f58b7eb3d2daaa87160cb5 *./tests/data/msmpeg4v2.vsynth.out.yuv
stddev: 8.00 PSNR:30.06 bytes:7602176
f546e8d0ada1917bc470584477f83e0e *./tests/data/a-msmpeg4.avi
639406 ./tests/data/a-msmpeg4.avi
8692a2e9ddb8081c4f00cb1557e2388e *./tests/data/out.yuv
8692a2e9ddb8081c4f00cb1557e2388e *./tests/data/msmpeg4.vsynth.out.yuv
stddev: 8.00 PSNR:30.05 bytes:7602176
3c119e9ee8c8f45d36a0e8f976505f6b *./tests/data/a-wmv1.avi
641178 ./tests/data/a-wmv1.avi
69454f78ca636e83a600834e5a90660e *./tests/data/out.yuv
69454f78ca636e83a600834e5a90660e *./tests/data/wmv1.vsynth.out.yuv
stddev: 8.01 PSNR:30.04 bytes:7602176
d69fe03a838479a0a52da0765d49d42e *./tests/data/a-wmv2.avi
675138 ./tests/data/a-wmv2.avi
69454f78ca636e83a600834e5a90660e *./tests/data/out.yuv
69454f78ca636e83a600834e5a90660e *./tests/data/wmv2.vsynth.out.yuv
stddev: 8.01 PSNR:30.04 bytes:7602176
12d215719748b4cf1adeaca4e519ba6c *./tests/data/a-h261.avi
727616 ./tests/data/a-h261.avi
bb2e71de01899ade4f850c180f9b0258 *./tests/data/out.yuv
bb2e71de01899ade4f850c180f9b0258 *./tests/data/h261.vsynth.out.yuv
stddev: 9.13 PSNR:28.90 bytes:7602176
66d36048d15c3b04bd7bfc08ab977fae *./tests/data/a-h263.avi
673694 ./tests/data/a-h263.avi
d507be4253a9c8211a3738c58ba28118 *./tests/data/out.yuv
d507be4253a9c8211a3738c58ba28118 *./tests/data/h263.vsynth.out.yuv
stddev: 8.06 PSNR:29.99 bytes:7602176
e9e884a7c6b77d1aeeb4cb56ac150f92 *./tests/data/a-h263p.avi
2389564 ./tests/data/a-h263p.avi
0bb16a352798c997cb36e167f4fa8f3c *./tests/data/out.yuv
0bb16a352798c997cb36e167f4fa8f3c *./tests/data/h263p.vsynth.out.yuv
stddev: 2.07 PSNR:41.77 bytes:7602176
eedd720a38629ea0990685b30b697404 *./tests/data/a-odivx.mp4
550779 ./tests/data/a-odivx.mp4
a1c691f3be526ecbf3be3152d5bab88c *./tests/data/out.yuv
a1c691f3be526ecbf3be3152d5bab88c *./tests/data/mpeg4.vsynth.out.yuv
stddev: 7.99 PSNR:30.06 bytes:7602176
6c58e5707afe056b072d2ce21b3b8e4f *./tests/data/a-huffyuv.avi
7933744 ./tests/data/a-huffyuv.avi
799d3db687f6cdd7a837ec156efc171f *./tests/data/out.yuv
799d3db687f6cdd7a837ec156efc171f *./tests/data/huffyuv.vsynth.out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
b27e911f1563455700c93e6ae39715ca *./tests/data/a-mpeg4-rc.avi
813988 ./tests/data/a-mpeg4-rc.avi
f57311745de96b6551c175679b138efc *./tests/data/out.yuv
f57311745de96b6551c175679b138efc *./tests/data/rc.vsynth.out.yuv
stddev: 10.40 PSNR:27.78 bytes:7602176
85e2456a673041d528b242d78318fb65 *./tests/data/a-mpeg4-adv.avi
600188 ./tests/data/a-mpeg4-adv.avi
60edc5a67271e425d0a2a52981895b81 *./tests/data/out.yuv
60edc5a67271e425d0a2a52981895b81 *./tests/data/mpeg4adv.vsynth.out.yuv
stddev: 10.25 PSNR:27.91 bytes:7602176
6ae74b04d5265132837eb32a5e03a98a *./tests/data/a-mpeg4-qprd.avi
657854 ./tests/data/a-mpeg4-qprd.avi
c2c3c675bd1ffdc0b92dd0f27a83f37a *./tests/data/out.yuv
c2c3c675bd1ffdc0b92dd0f27a83f37a *./tests/data/mpeg4adv.vsynth.out.yuv
stddev: 12.12 PSNR:26.45 bytes:7602176
69a0f715145536849413e30e950e9cc2 *./tests/data/a-mpeg4-adap.avi
399984 ./tests/data/a-mpeg4-adap.avi
f3e2093420cd44101da2f708f19fcbd1 *./tests/data/out.yuv
f3e2093420cd44101da2f708f19fcbd1 *./tests/data/mpeg4adv.vsynth.out.yuv
stddev: 14.66 PSNR:24.80 bytes:7602176
41b27141442f773eca9ef3d48d8d555a *./tests/data/a-mpeg4-Q.avi
878264 ./tests/data/a-mpeg4-Q.avi
8995abbcc97ed4767fcbc0bf46accd01 *./tests/data/out.yuv
8995abbcc97ed4767fcbc0bf46accd01 *./tests/data/mpeg4adv.vsynth.out.yuv
stddev: 5.61 PSNR:33.13 bytes:7602176
a20b1d73bb0671dbd2012494c31719a6 *./tests/data/a-mpeg4-thread.avi
761506 ./tests/data/a-mpeg4-thread.avi
a9835b5b6a34a3fd70c168dc60fb9687 *./tests/data/out.yuv
a9835b5b6a34a3fd70c168dc60fb9687 *./tests/data/mpeg4thread.vsynth.out.yuv
stddev: 12.31 PSNR:26.31 bytes:7602176
743cf18c1e8941591f8ab41350247c42 *./tests/data/a-mpeg4-PSP.mp4
406441 ./tests/data/a-mpeg4-PSP.mp4
7315281e07830456208dff61337c982b *./tests/data/a-error-mpeg4-adv.avi
731526 ./tests/data/a-error-mpeg4-adv.avi
6ce2c82a0a9cf67a6991694473e9a306 *./tests/data/out.yuv
6ce2c82a0a9cf67a6991694473e9a306 *./tests/data/error.vsynth.out.yuv
stddev: 18.23 PSNR:22.90 bytes:7602176
b699b2fd005571dda3f8d34cb0ce7aec *./tests/data/a-mpeg4-nr.avi
688676 ./tests/data/a-mpeg4-nr.avi
2c16e13b1367022d52b0e75d93a734ba *./tests/data/out.yuv
2c16e13b1367022d52b0e75d93a734ba *./tests/data/mpeg4nr.vsynth.out.yuv
stddev: 7.02 PSNR:31.18 bytes:7602176
225ab004f6ac16e5ade3b453f45b9d96 *./tests/data/a-mpeg1b.mpg
1026429 ./tests/data/a-mpeg1b.mpg
dd9a471c6b2d1004a90e42f34707becf *./tests/data/out.yuv
dd9a471c6b2d1004a90e42f34707becf *./tests/data/mpeg1b.vsynth.out.yuv
stddev: 6.34 PSNR:32.07 bytes:7602176
2f9cb2ede35f7d12f6b518c50e20d81c *./tests/data/a-mjpeg.avi
1567580 ./tests/data/a-mjpeg.avi
18c3a76f984e717dd886d21fa04355f6 *./tests/data/out.yuv
18c3a76f984e717dd886d21fa04355f6 *./tests/data/mjpeg.vsynth.out.yuv
stddev: 7.93 PSNR:30.13 bytes:7602176
5a662e3833d900b56cca79ba5ed5ec06 *./tests/data/a-ljpeg.avi
6264498 ./tests/data/a-ljpeg.avi
799d3db687f6cdd7a837ec156efc171f *./tests/data/out.yuv
799d3db687f6cdd7a837ec156efc171f *./tests/data/ljpeg.vsynth.out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
dca9d700da7857217408c310c501b9bc *./tests/data/a-jpegls.avi
9086676 ./tests/data/a-jpegls.avi
0f8637e9b861230aff9894825af83720 *./tests/data/out.yuv
0f8637e9b861230aff9894825af83720 *./tests/data/jpegls.vsynth.out.yuv
stddev: 2.84 PSNR:39.04 bytes:7602176
99ef24bf57718fd29a7a91b22af2b3fe *./tests/data/a-rv10.rm
667935 ./tests/data/a-rv10.rm
d507be4253a9c8211a3738c58ba28118 *./tests/data/out.yuv
d507be4253a9c8211a3738c58ba28118 *./tests/data/rv10.vsynth.out.yuv
stddev: 8.06 PSNR:29.99 bytes:7602176
d1caf150a7b53db8fd5eb8c1d0701daf *./tests/data/a-rv20.rm
640876 ./tests/data/a-rv20.rm
297dc46da1a256c0a97158c036c30c7f *./tests/data/out.yuv
297dc46da1a256c0a97158c036c30c7f *./tests/data/rv20.vsynth.out.yuv
stddev: 8.26 PSNR:29.77 bytes:7602176
d13292f4583618d1b7b525a9ee010dff *./tests/data/a-asv1.avi
1488864 ./tests/data/a-asv1.avi
925320b74c7dfda5dc8378dd879ae2c3 *./tests/data/out.yuv
925320b74c7dfda5dc8378dd879ae2c3 *./tests/data/asv1.vsynth.out.yuv
stddev: 20.00 PSNR:22.10 bytes:7602176
2e50b590f32bf98bde82dbfaf180007a *./tests/data/a-asv2.avi
1454536 ./tests/data/a-asv2.avi
0b310840a6d3970595983491687669df *./tests/data/out.yuv
0b310840a6d3970595983491687669df *./tests/data/asv2.vsynth.out.yuv
stddev: 18.82 PSNR:22.63 bytes:7602176
cbdb25fe5bb6a895baf9799b8ccb3038 *./tests/data/a-flv.flv
649040 ./tests/data/a-flv.flv
40281942d6ee254f7d3027b8593b19be *./tests/data/out.yuv
40281942d6ee254f7d3027b8593b19be *./tests/data/flv.vsynth.out.yuv
stddev: 8.06 PSNR:29.99 bytes:7602176
f8f51fa737add17f7fecaefa118b57ed *./tests/data/a-ffv1.avi
2654678 ./tests/data/a-ffv1.avi
799d3db687f6cdd7a837ec156efc171f *./tests/data/out.yuv
799d3db687f6cdd7a837ec156efc171f *./tests/data/ffv1.vsynth.out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
5b3430252fdbbc7de5ffedc36150b0bf *./tests/data/a-snow.avi
156726 ./tests/data/a-snow.avi
3de2b39f90fd8331f27e627e68e076f7 *./tests/data/out.yuv
3de2b39f90fd8331f27e627e68e076f7 *./tests/data/snow.vsynth.out.yuv
stddev: 23.15 PSNR:20.83 bytes:7602176
c7397d2ceb420f7564dcc785948bff84 *./tests/data/a-snow53.avi
3520692 ./tests/data/a-snow53.avi
799d3db687f6cdd7a837ec156efc171f *./tests/data/out.yuv
799d3db687f6cdd7a837ec156efc171f *./tests/data/snowll.vsynth.out.yuv
stddev: 0.00 PSNR:99.99 bytes:7602176
c299f64c3e85b928c5bfe71629cee006 *./tests/data/a-dv.dv
7200000 ./tests/data/a-dv.dv
3b9ead854b912e43ead976e4e86aab3b *./tests/data/out.yuv
3b9ead854b912e43ead976e4e86aab3b *./tests/data/dv.vsynth.out.yuv
stddev: 8.91 PSNR:29.12 bytes:7602176
70dc9a58345e603094dedcac71e2dcd2 *./tests/data/a-dv50.dv
14400000 ./tests/data/a-dv50.dv
d727da8c7ce387ebe68845a1be916ee3 *./tests/data/out.yuv
d727da8c7ce387ebe68845a1be916ee3 *./tests/data/dv50.vsynth.out.yuv
stddev: 8.50 PSNR:29.52 bytes:7602176
95d08d714679c0f1a96b6da353c64660 *./tests/data/a-svq1.mov
1365783 ./tests/data/a-svq1.mov
fb0a97094a89d6f379535f615783d00c *./tests/data/out.yuv
fb0a97094a89d6f379535f615783d00c *./tests/data/svq1.vsynth.out.yuv
stddev: 10.98 PSNR:27.30 bytes:7602176
7f1f97c37bfff641d0f137f9774c0112 *./tests/data/a-flashsv.flv
14685499 ./tests/data/a-flashsv.flv
0f8637e9b861230aff9894825af83720 *./tests/data/out.yuv
0f8637e9b861230aff9894825af83720 *./tests/data/flashsv.vsynth.out.yuv
stddev: 2.84 PSNR:39.04 bytes:7602176
21f8ff9f1daacd9133683bb4ea0f50a4 *./tests/data/a-mp2.mp2
95712 ./tests/data/a-mp2.mp2
83f8df5d5f84480566af548bb037fceb *./tests/data/out.wav
83f8df5d5f84480566af548bb037fceb *./tests/data/mp2.vsynth.out.wav
stddev:9330.70 PSNR:16.92 bytes:1054720
stddev:4396.13 PSNR:23.46 bytes:1052672
aefe11ab5067621a1c674859d6413891 *./tests/data/a-ac3.rm
98203 ./tests/data/a-ac3.rm
39878597b1d65cce473639a7d8c93b02 *./tests/data/a-g726.wav
24279 ./tests/data/a-g726.wav
888f2f016e608d044a1bacbca5497ed2 *./tests/data/out.wav
888f2f016e608d044a1bacbca5497ed2 *./tests/data/g726.vsynth.out.wav
stddev:8368.02 PSNR:17.87 bytes:96256
3b969c43e45582f713e3c35faee9e0cc *./tests/data/a-adpcm_ima.wav
266300 ./tests/data/a-adpcm_ima.wav
947196b1739a9d6fe0c29424cf61cd8c *./tests/data/out.wav
947196b1739a9d6fe0c29424cf61cd8c *./tests/data/adpcm_ima_wav.vsynth.out.wav
stddev:904.20 PSNR:37.19 bytes:1056768
628d4789cf9ee16a756ac54b7fd8650d *./tests/data/a-adpcm_ms.wav
267320 ./tests/data/a-adpcm_ms.wav
91a84bb4f319a3a0bf0c0441b3d3a529 *./tests/data/out.wav
91a84bb4f319a3a0bf0c0441b3d3a529 *./tests/data/adpcm_ms.vsynth.out.wav
stddev:1050.18 PSNR:35.89 bytes:1054720
ab11d9151644cbff27827b7e89f37aa9 *./tests/data/a-adpcm_yam.wav
264248 ./tests/data/a-adpcm_yam.wav
e92cec8c07913ffb91ad2b11f79cdc00 *./tests/data/out.wav
e92cec8c07913ffb91ad2b11f79cdc00 *./tests/data/adpcm_yam.vsynth.out.wav
stddev:18312.68 PSNR:11.06 bytes:1056768
de1122d20d56c44cf49f028e25a67788 *./tests/data/a-adpcm_swf.flv
267073 ./tests/data/a-adpcm_swf.flv
e48b800e2d9be6afcd430d4f08a34eb6 *./tests/data/out.wav
e48b800e2d9be6afcd430d4f08a34eb6 *./tests/data/adpcm_swf.vsynth.out.wav
stddev:934.30 PSNR:36.91 bytes:1056768
c3382f03ce2efb5d475240d288a33898 *./tests/data/a-flac.flac
353368 ./tests/data/a-flac.flac
c4228df189aad9567a037727d0e763e4 *./tests/data/out.wav
c4228df189aad9567a037727d0e763e4 *./tests/data/flac.vsynth.out.wav
stddev: 33.31 PSNR:65.87 bytes:1040384
a1e56bb034c2773438ba1c830c4cea07 *./tests/data/a-wmav1.asf
106004 ./tests/data/a-wmav1.asf
......
ffmpeg regression test
8a0536ccfe36f4fff408b3327d33e1dd *./tests/data/b-libav.avi
340344 ./tests/data/b-libav.avi
./tests/data/b-libav.avi CRC=0x400c29e9
......
......@@ -4,107 +4,35 @@
#
#
#set -x
# Even in the 21st century some diffs do not support -u.
diff -u "$0" "$0" > /dev/null 2>&1
if [ $? -eq 0 ]; then
diff_cmd="diff -u"
else
diff_cmd="diff"
fi
diff -w "$0" "$0" > /dev/null 2>&1
if [ $? -eq 0 ]; then
diff_cmd="$diff_cmd -w"
fi
set -e
datadir="./tests/data"
logfile="$datadir/ffmpeg.regression"
test="${1#regtest-}"
this="$test.$2"
logfile="$datadir/$this.regression"
outfile="$datadir/a-"
# tests to run
if [ "$1" = "mpeg4" ] ; then
do_mpeg4=y
elif [ "$1" = "mpeg" ] ; then
do_mpeg=y
do_mpeg2=y
elif [ "$1" = "ac3" ] ; then
do_ac3=y
elif [ "$1" = "huffyuv" ] ; then
do_huffyuv=y
elif [ "$1" = "mpeg2thread" ] ; then
do_mpeg2thread=y
elif [ "$1" = "snow" ] ; then
do_snow=y
elif [ "$1" = "snowll" ] ; then
do_snowll=y
elif [ "$1" = "libavtest" ] ; then
do_libavtest=y
logfile="$datadir/libav.regression"
eval do_$test=y
if [ "$test" = "lavf" ] ; then
outfile="$datadir/b-"
else
do_mpeg=y
do_mpeg2=y
do_mpeg2thread=y
do_msmpeg4v2=y
do_msmpeg4=y
do_wmv1=y
do_wmv2=y
do_h261=y
do_h263=y
do_h263p=y
do_mpeg4=y
do_mp4psp=y
do_huffyuv=y
do_mjpeg=y
do_ljpeg=y
do_jpegls=y
do_rv10=y
do_rv20=y
do_mp2=y
do_ac3=y
do_g726=y
do_adpcm_ima_wav=y
do_adpcm_ms=y
do_flac=y
do_wma=y
do_vorbis=y
do_rc=y
do_mpeg4adv=y
do_mpeg4thread=y
do_mpeg4nr=y
do_mpeg1b=y
do_asv1=y
do_asv2=y
do_flv=y
do_ffv1=y
do_error=y
do_svq1=y
do_snow=y
do_snowll=y
do_adpcm_yam=y
do_dv=y
do_dv50=y
do_flashsv=y
do_adpcm_swf=y
fi
# various files
ffmpeg="./ffmpeg_g"
tiny_psnr="tests/tiny_psnr"
reffile="$2"
benchfile="$datadir/ffmpeg.bench"
bench="$datadir/bench.tmp"
bench2="$datadir/bench2.tmp"
benchfile="$datadir/$this.bench"
bench="$datadir/$this.bench.tmp"
bench2="$datadir/$this.bench2.tmp"
raw_src="$3/%02d.pgm"
raw_dst="$datadir/out.yuv"
raw_ref="$datadir/ref.yuv"
raw_dst="$datadir/$this.out.yuv"
raw_ref="$datadir/$2.ref.yuv"
pcm_src="tests/asynth1.sw"
pcm_dst="$datadir/out.wav"
pcm_ref="$datadir/ref.wav"
pcm_dst="$datadir/$this.out.wav"
pcm_ref="$datadir/$2.ref.wav"
if [ X"`echo | md5sum 2> /dev/null`" != X ]; then
do_md5sum() { md5sum -b $1; }
elif [ -x /sbin/md5 ]; then
......@@ -183,6 +111,7 @@ do_ffmpeg_nocheck()
do_video_decoding()
{
do_ffmpeg $raw_dst -y $1 -i $file -f rawvideo $2 $raw_dst
rm -f $raw_dst
}
do_video_encoding()
......@@ -232,13 +161,15 @@ do_audio_only()
do_ffmpeg_crc $file -i $file
}
echo "ffmpeg regression test" > $logfile
echo "ffmpeg benchmarks" > $benchfile
rm -f "$logfile"
rm -f "$benchfile"
###################################
# generate reference for quality check
if [ -n "$do_ref" ]; then
do_ffmpeg_nocheck $raw_ref -y -f pgmyuv -i $raw_src -an -f rawvideo $raw_ref
do_ffmpeg_nocheck $pcm_ref -y -ab 128k -ac 2 -ar 44100 -f s16le -i $pcm_src -f wav $pcm_ref
fi
###################################
if [ -n "$do_mpeg" ] ; then
......@@ -602,7 +533,7 @@ fi
# libavformat testing
###################################
if [ -n "$do_libavtest" ] ; then
if [ -n "$do_lavf" ] ; then
# avi
do_libav avi
......@@ -736,16 +667,6 @@ for pix_fmt in $conversions ; do
-f rawvideo -s 352x288 -pix_fmt yuv444p $file
done
fi # [ -n "$do_libavtest" ]
fi # [ -n "$do_lavf" ]
if $diff_cmd "$logfile" "$reffile" ; then
echo
echo $1 regression test: success
exit 0
else
echo
echo $1 regression test: error
exit 1
fi
rm -f "$bench" "$bench2"
ffmpeg regression test
73ca6f1deab02d1d67a0e8495c026a9e *./tests/data/a-mpeg1.mpg
192783 ./tests/data/a-mpeg1.mpg
56147e94b12f08df7213e610e177823d *./tests/data/out.yuv
56147e94b12f08df7213e610e177823d *./tests/data/mpeg.rotozoom.out.yuv
stddev: 4.95 PSNR:34.21 bytes:7602176
2d55ce623a7be4e8136f80266e487678 *./tests/data/a-mpeg2.mpg
198667 ./tests/data/a-mpeg2.mpg
b7cae8a1f751b821cddcbe4d5dbc518c *./tests/data/out.yuv
b7cae8a1f751b821cddcbe4d5dbc518c *./tests/data/mpeg2.rotozoom.out.yuv
stddev: 4.96 PSNR:34.19 bytes:7602176
9e7542fb0dfea5ffa9de6bfee3d26fdb *./tests/data/a-mpeg2ivlc-qprd.mpg
248055 ./tests/data/a-mpeg2ivlc-qprd.mpg
610ec1a25a3f823bf083d8bf20348ebb *./tests/data/out.yuv
610ec1a25a3f823bf083d8bf20348ebb *./tests/data/mpeg2.rotozoom.out.yuv
stddev: 4.44 PSNR:35.16 bytes:7602176
f979bcca866e6e4cad5dc6cb06e56cfb *./tests/data/a-mpeg2.mpg
198041 ./tests/data/a-mpeg2.mpg
f6d9bf24ff8676a7f6076c05cd2c81a3 *./tests/data/out.yuv
f6d9bf24ff8676a7f6076c05cd2c81a3 *./tests/data/mpeg2.rotozoom.out.yuv
stddev: 4.97 PSNR:34.18 bytes:7602176
f90197a8b6e62ae25f82625337f27240 *./tests/data/a-mpeg2i.mpg
204579 ./tests/data/a-mpeg2i.mpg
ea5057b60146c06d40449cdfc686bf13 *./tests/data/out.yuv
ea5057b60146c06d40449cdfc686bf13 *./tests/data/mpeg2.rotozoom.out.yuv
stddev: 4.98 PSNR:34.17 bytes:7602176
c346717be44450e41d9d6e07f59d1490 *./tests/data/a-mpeg2thread.mpg
182959 ./tests/data/a-mpeg2thread.mpg
02b85a7f67ced2d146a5c4e8000712b6 *./tests/data/out.yuv
02b85a7f67ced2d146a5c4e8000712b6 *./tests/data/mpeg2thread.rotozoom.out.yuv
stddev: 4.75 PSNR:34.57 bytes:7602176
ff30b3df75626398873ac4f30093a5ae *./tests/data/a-mpeg2threadivlc.mpg
182105 ./tests/data/a-mpeg2threadivlc.mpg
02b85a7f67ced2d146a5c4e8000712b6 *./tests/data/out.yuv
02b85a7f67ced2d146a5c4e8000712b6 *./tests/data/mpeg2thread.rotozoom.out.yuv
stddev: 4.75 PSNR:34.57 bytes:7602176
3942f86a6aa6fe5aea586fedf210e33e *./tests/data/a-mpeg2reuse.mpg
394265 ./tests/data/a-mpeg2reuse.mpg
afbc483eaa769925259e6094cfda2c72 *./tests/data/out.yuv
afbc483eaa769925259e6094cfda2c72 *./tests/data/mpeg2thread.rotozoom.out.yuv
stddev: 4.76 PSNR:34.56 bytes:7602176
c09815e40a9d260628e1ebad8b2b3774 *./tests/data/a-msmpeg4v2.avi
129918 ./tests/data/a-msmpeg4v2.avi
8920194f8bf8f9cdd6c65b3df9e1a292 *./tests/data/out.yuv
8920194f8bf8f9cdd6c65b3df9e1a292 *./tests/data/msmpeg4v2.rotozoom.out.yuv
stddev: 5.33 PSNR:33.58 bytes:7602176
3069f95f2ffca1f20c8ea36e2625fabc *./tests/data/a-msmpeg4.avi
127680 ./tests/data/a-msmpeg4.avi
0e1c6e25c71c6a8fa8e506e3d97ca4c9 *./tests/data/out.yuv
0e1c6e25c71c6a8fa8e506e3d97ca4c9 *./tests/data/msmpeg4.rotozoom.out.yuv
stddev: 5.33 PSNR:33.58 bytes:7602176
1011e26e7d351c96d7bbfe106d831b69 *./tests/data/a-wmv1.avi
129530 ./tests/data/a-wmv1.avi
81eee429b665254d19a06607463c0b5e *./tests/data/out.yuv
81eee429b665254d19a06607463c0b5e *./tests/data/wmv1.rotozoom.out.yuv
stddev: 5.33 PSNR:33.59 bytes:7602176
1f6598e9776ed00aebdc44cc8d48cb7c *./tests/data/a-wmv2.avi
129860 ./tests/data/a-wmv2.avi
81eee429b665254d19a06607463c0b5e *./tests/data/out.yuv
81eee429b665254d19a06607463c0b5e *./tests/data/wmv2.rotozoom.out.yuv
stddev: 5.33 PSNR:33.59 bytes:7602176
dfd005d4c9030a0dc889c828a6408b9c *./tests/data/a-h261.avi
191086 ./tests/data/a-h261.avi
db7ceff174823b98834faa2320ca89ac *./tests/data/out.yuv
db7ceff174823b98834faa2320ca89ac *./tests/data/h261.rotozoom.out.yuv
stddev: 6.38 PSNR:32.02 bytes:7602176
9a368687ab34c48079f11a202839a6bc *./tests/data/a-h263.avi
160106 ./tests/data/a-h263.avi
61213b91b359697ebcefb9e0a53ac54a *./tests/data/out.yuv
61213b91b359697ebcefb9e0a53ac54a *./tests/data/h263.rotozoom.out.yuv
stddev: 5.43 PSNR:33.41 bytes:7602176
c7644d40e9f40bbd98e5a978f9f94bb4 *./tests/data/a-h263p.avi
868018 ./tests/data/a-h263p.avi
4b0ee791f280029dc03c528f76f195d4 *./tests/data/out.yuv
4b0ee791f280029dc03c528f76f195d4 *./tests/data/h263p.rotozoom.out.yuv
stddev: 1.91 PSNR:42.49 bytes:7602176
15a7e083ad743c0bcfe68e6b18f11098 *./tests/data/a-odivx.mp4
119789 ./tests/data/a-odivx.mp4
90a3577850239083a9042bef33c50e85 *./tests/data/out.yuv
90a3577850239083a9042bef33c50e85 *./tests/data/mpeg4.rotozoom.out.yuv