e6ba398ffb829139da07433cbdfb71fb2cb433a8
12 #include "libvidstab.h"
13 // load optimized functions
14 #include "motiondetect_internal.h"
15 #include "motiondetect_opt.h"
17 #include "transformfixedpoint.h"
18 #include "transformfloat.h"
19 #include "transformtype_operations.h"
22 #error TESTING must be defined
25 #include "testframework.h"
26 #include "testutils.h"
30 #include "test_transform.c"
31 #include "test_compareimg.c"
32 #include "test_motiondetect.c"
33 #include "test_store_restore.c"
34 #include "test_contrast.c"
35 #include "test_boxblur.c"
37 #include "test_gradientoptimizer.c"
38 #include "test_localmotion2transform.c"
42 int main(int argc
, char** argv
){
44 if(contains(argv
,argc
,"-h", "help")!=0){
45 printf("Usage: %s [--store --load] [--all| --testX ...]\n", argv
[0]);
51 int all
= contains(argv
,argc
,"--all", "Perform all tests")!=0;
54 vsFrameInfoInit(&testdata
.fi
,1280, 720, PF_YUV420P
);
55 vsFrameInfoInit(&testdata
.fi_color
, 640, 360, PF_GRAY8
);
57 if(contains(argv
,argc
,"--load",
58 "Load frames from files from frames/frame001.raw (def: generate)")!=0){
62 for(i
=0; i
<FRAMENUM
; i
++){
63 vsFrameAllocate(&testdata
.frames
[i
],&testdata
.fi
);
64 sprintf(name
,"../frames/frame%03i.raw",i
+4);
65 fprintf(stderr
, "load file %s\n", name
);
66 file
= fopen(name
,"rb");
68 fprintf(stderr
,"read %li bytes\n",
69 (unsigned long)fread(testdata
.frames
[i
].data
[0], 1,
70 testdata
.fi
.width
*testdata
.fi
.height
,file
));
74 UNIT(generateFrames(&testdata
, FRAMENUM
));
76 if(contains(argv
,argc
,"--store", "Store frames to files")!=0){
77 storePGMImage("test1.pgm", testdata
.frames
[0].data
[0], testdata
.fi
);
78 storePGMImage("test2.pgm", testdata
.frames
[1].data
[0], testdata
.fi
);
79 storePGMImage("test3.pgm", testdata
.frames
[2].data
[0], testdata
.fi
);
80 storePGMImage("test4.pgm", testdata
.frames
[3].data
[0], testdata
.fi
);
81 storePGMImage("test5.pgm", testdata
.frames
[4].data
[0], testdata
.fi
);
88 if(all
|| contains(argv
,argc
,"--testTI", "transform_implementation")){
89 UNIT(test_transform_implementation(&testdata
));
92 if(all
|| contains(argv
,argc
,"--testTP", "transform_performance")){
93 UNIT(test_transform_performance(&testdata
));
96 if(all
|| contains(argv
,argc
,"--testBB", "boxblur")){
97 UNIT(test_boxblur(&testdata
));
100 if(all
|| contains(argv
,argc
,"--testCCI", "checkCompareImg")){
101 UNIT(test_checkCompareImg(&testdata
));
104 if(all
|| contains(argv
,argc
,"--testCIP", "compareImg_performance")){
105 UNIT(test_compareImg_performance(&testdata
));
108 if(all
|| contains(argv
,argc
,"--testMD", "motionDetect")){
109 UNIT(test_motionDetect(&testdata
));
112 if(all
|| contains(argv
,argc
,"--testLM", "localmotion2transform")){
113 UNIT(test_localmotion2transform(&testdata
));
116 if(all
|| contains(argv
,argc
,"--testSR", "store_restore")){
117 UNIT(test_store_restore(&testdata
));
120 if(all
|| contains(argv
,argc
,"--testCT", "contrastImg")){
121 UNIT(test_contrastImg(&testdata
));
124 if(all
|| contains(argv
,argc
,"--testGO", "gradient optimizer")){
125 UNIT(test_gradientoptimizer());
129 for(int i
=0; i
<FRAMENUM
; i
++)
130 vsFrameFree(&testdata
.frames
[i
]);
132 return unittest_summary();