This allows expressing complex dependencies more easily.
Originally committed as revision 24120 to svn://svn.ffmpeg.org/ffmpeg/trunk
... | ... |
@@ -176,87 +176,6 @@ fulltest test: codectest lavftest seektest |
176 | 176 |
FFSERVER_REFFILE = $(SRC_PATH)/tests/ffserver.regression.ref |
177 | 177 |
SEEK_REFFILE = $(SRC_PATH)/tests/seek.regression.ref |
178 | 178 |
|
179 |
-ENCDEC = $(and $(CONFIG_$(1)_ENCODER),$(CONFIG_$(1)_DECODER)) |
|
180 |
-MUXDEM = $(and $(CONFIG_$(1)_MUXER),$(CONFIG_$(or $(2),$(1))_DEMUXER)) |
|
181 |
- |
|
182 |
-VCODEC_TESTS = |
|
183 |
-VCODEC_TESTS-$(call ENCDEC,ASV1) += asv1 |
|
184 |
-VCODEC_TESTS-$(call ENCDEC,ASV2) += asv2 |
|
185 |
-VCODEC_TESTS-$(call ENCDEC,DNXHD) += dnxhd_1080i dnxhd_720p dnxhd_720p_rd |
|
186 |
-VCODEC_TESTS-$(call ENCDEC,DVVIDEO) += dv dv50 |
|
187 |
-VCODEC_TESTS-$(call ENCDEC,FFV1) += ffv1 |
|
188 |
-VCODEC_TESTS-$(call ENCDEC,FLASHSV) += flashsv |
|
189 |
-VCODEC_TESTS-$(call ENCDEC,FLV) += flv |
|
190 |
-VCODEC_TESTS-$(call ENCDEC,H261) += h261 |
|
191 |
-VCODEC_TESTS-$(call ENCDEC,H263) += h263 h263p |
|
192 |
-VCODEC_TESTS-$(call ENCDEC,HUFFYUV) += huffyuv |
|
193 |
-VCODEC_TESTS-$(call ENCDEC,JPEGLS) += jpegls |
|
194 |
-VCODEC_TESTS-$(call ENCDEC,MJPEG) += mjpeg ljpeg |
|
195 |
-VCODEC_TESTS-$(call ENCDEC,MPEG1VIDEO) += mpeg mpeg1b |
|
196 |
-VCODEC_TESTS-$(call ENCDEC,MPEG2VIDEO) += mpeg2 mpeg2thread |
|
197 |
-VCODEC_TESTS-$(call ENCDEC,MPEG4) += mpeg4 mpeg4adv mpeg4nr mpeg4thread error rc |
|
198 |
-VCODEC_TESTS-$(call ENCDEC,MSMPEG4V1) += msmpeg4 |
|
199 |
-VCODEC_TESTS-$(call ENCDEC,MSMPEG4V2) += msmpeg4v2 |
|
200 |
-VCODEC_TESTS-$(call ENCDEC,RAWVIDEO) += rgb yuv |
|
201 |
-VCODEC_TESTS-$(call ENCDEC,ROQ) += roq |
|
202 |
-VCODEC_TESTS-$(call ENCDEC,RV10) += rv10 |
|
203 |
-VCODEC_TESTS-$(call ENCDEC,RV20) += rv20 |
|
204 |
-VCODEC_TESTS-$(call ENCDEC,SNOW) += snow snowll |
|
205 |
-VCODEC_TESTS-$(call ENCDEC,SVQ1) += svq1 |
|
206 |
-VCODEC_TESTS-$(call ENCDEC,WMV1) += wmv1 |
|
207 |
-VCODEC_TESTS-$(call ENCDEC,WMV2) += wmv2 |
|
208 |
- |
|
209 |
-ACODEC_TESTS = |
|
210 |
-ACODEC_TESTS-$(call ENCDEC,AC3) += ac3 |
|
211 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_G726) += g726 |
|
212 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_QT) += adpcm_ima_qt |
|
213 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_WAV) += adpcm_ima_wav |
|
214 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_MS) += adpcm_ms |
|
215 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_SWF) += adpcm_swf |
|
216 |
-ACODEC_TESTS-$(call ENCDEC,ADPCM_YAMAHA) += adpcm_yam |
|
217 |
-ACODEC_TESTS-$(call ENCDEC,ALAC) += alac |
|
218 |
-ACODEC_TESTS-$(call ENCDEC,FLAC) += flac |
|
219 |
-ACODEC_TESTS-$(call ENCDEC,MP2) += mp2 |
|
220 |
-ACODEC_TESTS-$(call ENCDEC,PCM_S16LE) += pcm # fixme |
|
221 |
-ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav1 |
|
222 |
-ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav2 |
|
223 |
- |
|
224 |
-LAVF_TESTS = |
|
225 |
-LAVF_TESTS-$(call MUXDEM,AIFF) += aiff |
|
226 |
-LAVF_TESTS-$(call MUXDEM,PCM_ALAW) += alaw |
|
227 |
-LAVF_TESTS-$(call MUXDEM,ASF) += asf |
|
228 |
-LAVF_TESTS-$(call MUXDEM,AU) += au |
|
229 |
-LAVF_TESTS-$(call MUXDEM,AVI) += avi |
|
230 |
-LAVF_TESTS-$(call ENCDEC,BMP) += bmp |
|
231 |
-LAVF_TESTS-$(call MUXDEM,DV) += dv_fmt |
|
232 |
-LAVF_TESTS-$(call MUXDEM,FFM) += ffm |
|
233 |
-LAVF_TESTS-$(call MUXDEM,FLV) += flv_fmt |
|
234 |
-LAVF_TESTS-$(call ENCDEC,GIF) += gif |
|
235 |
-LAVF_TESTS-$(call MUXDEM,GXF) += gxf |
|
236 |
-LAVF_TESTS-$(call ENCDEC,MJPEG) += jpg |
|
237 |
-LAVF_TESTS-$(call MUXDEM,MATROSKA) += mkv |
|
238 |
-LAVF_TESTS-$(call MUXDEM,MMF) += mmf |
|
239 |
-LAVF_TESTS-$(call MUXDEM,MOV) += mov |
|
240 |
-LAVF_TESTS-$(call MUXDEM,MPEG1SYSTEM,MPEGPS) += mpg |
|
241 |
-LAVF_TESTS-$(call MUXDEM,PCM_MULAW) += mulaw |
|
242 |
-LAVF_TESTS-$(call MUXDEM,MXF) += mxf |
|
243 |
-LAVF_TESTS-$(call MUXDEM,NUT) += nut |
|
244 |
-LAVF_TESTS-$(call MUXDEM,OGG) += ogg |
|
245 |
-LAVF_TESTS-$(call ENCDEC,PBM) += pbmpipe |
|
246 |
-LAVF_TESTS-$(call ENCDEC,PCX) += pcx |
|
247 |
-LAVF_TESTS-$(call ENCDEC,PGM) += pgm pgmpipe |
|
248 |
-LAVF_TESTS-$(call MUXDEM,RAWVIDEO) += pixfmt |
|
249 |
-LAVF_TESTS-$(call ENCDEC,PPM) += ppm ppmpipe |
|
250 |
-LAVF_TESTS-$(call MUXDEM,RM) += rm |
|
251 |
-LAVF_TESTS-$(call ENCDEC,SGI) += sgi |
|
252 |
-LAVF_TESTS-$(call MUXDEM,SWF) += swf |
|
253 |
-LAVF_TESTS-$(call ENCDEC,TARGA) += tga |
|
254 |
-LAVF_TESTS-$(call ENCDEC,TIFF) += tiff |
|
255 |
-LAVF_TESTS-$(call MUXDEM,MPEGTS) += ts |
|
256 |
-LAVF_TESTS-$(call MUXDEM,VOC) += voc |
|
257 |
-LAVF_TESTS-$(call MUXDEM,WAV) += wav |
|
258 |
-LAVF_TESTS-$(call MUXDEM,YUV4MPEGPIPE) += yuv4mpeg |
|
259 |
- |
|
260 | 179 |
LAVFI_TESTS = \ |
261 | 180 |
crop \ |
262 | 181 |
crop_scale \ |
... | ... |
@@ -1396,6 +1396,97 @@ ffserver_extralibs='$ldl' |
1396 | 1396 |
|
1397 | 1397 |
doc_deps="texi2html" |
1398 | 1398 |
|
1399 |
+# tests |
|
1400 |
+ |
|
1401 |
+test_deps(){ |
|
1402 |
+ suf1=$1 |
|
1403 |
+ suf2=$2 |
|
1404 |
+ shift 2 |
|
1405 |
+ for v; do |
|
1406 |
+ dep=${v%=*} |
|
1407 |
+ tests=${v#*=} |
|
1408 |
+ for name in ${tests}; do |
|
1409 |
+ eval ${name}_test_deps="'${dep}$suf1 ${dep}$suf2'" |
|
1410 |
+ done |
|
1411 |
+ done |
|
1412 |
+} |
|
1413 |
+ |
|
1414 |
+test_deps _encoder _decoder \ |
|
1415 |
+ ac3 \ |
|
1416 |
+ adpcm_g726=g726 \ |
|
1417 |
+ adpcm_ima_qt \ |
|
1418 |
+ adpcm_ima_wav \ |
|
1419 |
+ adpcm_ms \ |
|
1420 |
+ adpcm_swf \ |
|
1421 |
+ adpcm_yamaha=adpcm_yam \ |
|
1422 |
+ alac \ |
|
1423 |
+ asv1 \ |
|
1424 |
+ asv2 \ |
|
1425 |
+ bmp \ |
|
1426 |
+ dnxhd="hdxhd_1080i dnxhd_720p dnxhd_720p_rd" \ |
|
1427 |
+ dvvideo="dv dv50" \ |
|
1428 |
+ ffv1 \ |
|
1429 |
+ flac \ |
|
1430 |
+ flashsv \ |
|
1431 |
+ flv \ |
|
1432 |
+ gif \ |
|
1433 |
+ h261 \ |
|
1434 |
+ h263="h263 h263p" \ |
|
1435 |
+ huffyuv \ |
|
1436 |
+ jpegls \ |
|
1437 |
+ mjpeg="jpg mjpeg ljpeg" \ |
|
1438 |
+ mp2 \ |
|
1439 |
+ mpeg1video="mpeg mpeg1b" \ |
|
1440 |
+ mpeg2video="mpeg2 mpeg2thread" \ |
|
1441 |
+ mpeg4="mpeg4 mpeg4adv mpeg4nr mpeg4thread error rc" \ |
|
1442 |
+ msmpeg4v1=msmpeg4 \ |
|
1443 |
+ msmpeg4v2 \ |
|
1444 |
+ pbm=pbmpipe \ |
|
1445 |
+ pcx \ |
|
1446 |
+ pgm="pgm pgmpipe" \ |
|
1447 |
+ ppm="ppm ppmpipe" \ |
|
1448 |
+ rawvideo="rgb yuv" \ |
|
1449 |
+ roq \ |
|
1450 |
+ rv10 \ |
|
1451 |
+ rv20 \ |
|
1452 |
+ sgi \ |
|
1453 |
+ snow="snow snowll" \ |
|
1454 |
+ svq1 \ |
|
1455 |
+ targa=tga \ |
|
1456 |
+ tiff \ |
|
1457 |
+ wmav1 \ |
|
1458 |
+ wmav2 \ |
|
1459 |
+ wmv1 \ |
|
1460 |
+ wmv2 \ |
|
1461 |
+ |
|
1462 |
+test_deps _muxer _demuxer \ |
|
1463 |
+ aiff \ |
|
1464 |
+ pcm_alaw=alaw \ |
|
1465 |
+ asf \ |
|
1466 |
+ au \ |
|
1467 |
+ avi \ |
|
1468 |
+ dv=dv_fmt \ |
|
1469 |
+ ffm \ |
|
1470 |
+ flv=flv_fmt \ |
|
1471 |
+ gxf \ |
|
1472 |
+ matroska=mkv \ |
|
1473 |
+ mmf \ |
|
1474 |
+ mov \ |
|
1475 |
+ pcm_mulaw=mulaw \ |
|
1476 |
+ mxf \ |
|
1477 |
+ nut \ |
|
1478 |
+ ogg \ |
|
1479 |
+ rawvideo=pixfmt \ |
|
1480 |
+ rm \ |
|
1481 |
+ swf \ |
|
1482 |
+ mpegts=ts \ |
|
1483 |
+ voc \ |
|
1484 |
+ wav \ |
|
1485 |
+ yuv4mpegpipe=yuv4mpeg \ |
|
1486 |
+ |
|
1487 |
+mpg_test_deps="mpeg1system_muxer mpegps_demuxer" |
|
1488 |
+pcm_test_deps=$(echo pcm_{{a,mu}law,u8,s8,{s{16,24,32},f{32,64}}{be,le},s24daud,zork}_{en,de}coder) |
|
1489 |
+ |
|
1399 | 1490 |
# default parameters |
1400 | 1491 |
|
1401 | 1492 |
logfile="config.log" |
... | ... |
@@ -1521,13 +1612,21 @@ INDEV_LIST=$(find_things indev _IN libavdevice/alldevices.c) |
1521 | 1521 |
PROTOCOL_LIST=$(find_things protocol PROTOCOL libavformat/allformats.c) |
1522 | 1522 |
FILTER_LIST=$(find_things filter FILTER libavfilter/allfilters.c) |
1523 | 1523 |
|
1524 |
+find_tests(){ |
|
1525 |
+ map 'echo ${v}_test' $(ls "$source_path"/tests/ref/$1) |
|
1526 |
+} |
|
1527 |
+ |
|
1528 |
+ACODEC_TESTS=$(find_tests acodec) |
|
1529 |
+VCODEC_TESTS=$(find_tests vsynth1) |
|
1530 |
+LAVF_TESTS=$(find_tests lavf) |
|
1531 |
+ |
|
1524 | 1532 |
for n in $COMPONENT_LIST; do |
1525 | 1533 |
v=$(toupper ${n%s})_LIST |
1526 | 1534 |
eval enable \$$v |
1527 | 1535 |
eval ${n}_if_any="\$$v" |
1528 | 1536 |
done |
1529 | 1537 |
|
1530 |
-enable $ARCH_EXT_LIST |
|
1538 |
+enable $ARCH_EXT_LIST $ACODEC_TESTS $VCODEC_TESTS $LAVF_TESTS |
|
1531 | 1539 |
|
1532 | 1540 |
die_unknown(){ |
1533 | 1541 |
echo "Unknown option \"$1\"." |
... | ... |
@@ -2753,6 +2852,9 @@ check_deps $CONFIG_LIST \ |
2753 | 2753 |
$INDEV_LIST \ |
2754 | 2754 |
$OUTDEV_LIST \ |
2755 | 2755 |
$PROTOCOL_LIST \ |
2756 |
+ $ACODEC_TESTS \ |
|
2757 |
+ $VCODEC_TESTS \ |
|
2758 |
+ $LAVF_TESTS \ |
|
2756 | 2759 |
|
2757 | 2760 |
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; } |
2758 | 2761 |
|
... | ... |
@@ -3023,6 +3125,12 @@ print_config CONFIG_ $TMPH config.mak $CONFIG_LIST \ |
3023 | 3023 |
$INDEV_LIST \ |
3024 | 3024 |
$OUTDEV_LIST \ |
3025 | 3025 |
|
3026 |
+cat >>config.mak <<EOF |
|
3027 |
+ACODEC_TESTS=$(print_enabled -n _test $ACODEC_TESTS) |
|
3028 |
+VCODEC_TESTS=$(print_enabled -n _test $VCODEC_TESTS) |
|
3029 |
+LAVF_TESTS=$(print_enabled -n _test $LAVF_TESTS) |
|
3030 |
+EOF |
|
3031 |
+ |
|
3026 | 3032 |
echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH |
3027 | 3033 |
echo "endif # FFMPEG_CONFIG_MAK" >> config.mak |
3028 | 3034 |
|