summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/disparity/src/c/script_disparity.c
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/benchmarks/disparity/src/c/script_disparity.c')
-rw-r--r--SD-VBS/benchmarks/disparity/src/c/script_disparity.c129
1 files changed, 0 insertions, 129 deletions
diff --git a/SD-VBS/benchmarks/disparity/src/c/script_disparity.c b/SD-VBS/benchmarks/disparity/src/c/script_disparity.c
deleted file mode 100644
index 58a9e06..0000000
--- a/SD-VBS/benchmarks/disparity/src/c/script_disparity.c
+++ /dev/null
@@ -1,129 +0,0 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include <stdio.h>
6#include <stdlib.h>
7#include "disparity.h"
8#include <malloc.h>
9#include "extra.h"
10// Valgrind says we use ~67Mb for fullhd - round up to 128Mb
11#define DISPARITY_MEM 1<<27
12int main(int argc, char* argv[])
13{
14 SET_UP
15 mallopt(M_TOP_PAD, DISPARITY_MEM);
16 mallopt(M_MMAP_MAX, 0);
17 int rows = 32;
18 int cols = 32;
19 I2D *imleft, *imright;
20 volatile I2D* retDisparity;
21 I2D *IrightPadded, *IleftPadded, *Iright_moved;
22 I2D *retDisp, *halfWin;
23 I2D *range;
24 F2D *retSAD, *minSAD, *SAD, *integralImg;
25 unsigned int *start, *endC, *elapsed;
26
27 int i, j;
28 char im1[100], im2[100], timFile[100];
29 int WIN_SZ=8, SHIFT=64;
30 FILE* fp;
31
32 scanf("%s", im1);
33 scanf("%s", im2);
34#ifdef CHECK
35 char checkFile[100] = "./expected_C.txt";
36#endif
37 imleft = readImage(im1);
38 imright = readImage(im2);
39
40 rows = imleft->height;
41 cols = imleft->width;
42
43#ifdef test
44 WIN_SZ = 2;
45 SHIFT = 1;
46#endif
47#ifdef sim_fast
48 WIN_SZ = 4;
49 SHIFT = 4;
50#endif
51#ifdef sim
52 WIN_SZ = 4;
53 SHIFT = 8;
54#endif
55
56
57 int nr, nc, k;
58 int half_win_sz;
59 nr = imleft->height;
60 nc = imleft->width;
61 half_win_sz = WIN_SZ / 2;
62
63 minSAD = fSetArray(nr, nc, 255.0*255.0);
64 retDisp = iSetArray(nr, nc, SHIFT);
65 halfWin = iSetArray(1,2,half_win_sz);
66
67
68 if(WIN_SZ > 1)
69 {
70 IleftPadded = padarray2(imleft, halfWin);
71 IrightPadded = padarray2(imright, halfWin);
72 }
73 else
74 {
75 IleftPadded = imleft;
76 IrightPadded = imright;
77 }
78
79 int paddedRows, paddedCols;
80 paddedRows = IleftPadded->height;
81 paddedCols = IleftPadded->width;
82 SAD = fSetArray(paddedRows, paddedCols,255);
83 integralImg = fSetArray(paddedRows, paddedCols,0);
84 retSAD = fMallocHandle(paddedRows- WIN_SZ, paddedCols - WIN_SZ);
85 Iright_moved = iSetArray(paddedRows, paddedCols, 0);
86
87 range = iMallocHandle(1, 2);
88 for_each_job {
89 retDisparity = getDisparity(imleft, imright, WIN_SZ, SHIFT,
90 minSAD, retDisp, halfWin,
91 IrightPadded, IleftPadded, Iright_moved,
92 retSAD, SAD, integralImg,
93 range);
94 }
95
96#ifdef CHECK
97 /** Self checking - use expected.txt from data directory **/
98 {
99 int tol, ret=0;
100 tol = 2;
101#ifdef GENERATE_OUTPUT
102 writeMatrix(retDisparity, argv[1]);
103#endif
104 ret = selfCheck(retDisparity, checkFile, tol);
105 if (ret == -1)
106 printf("Error in Disparity Map\n");
107 }
108 /** Self checking done **/
109#endif
110
111 //end of benchmark
112 fFreeHandle(minSAD);
113 fFreeHandle(SAD);
114 fFreeHandle(integralImg);
115 iFreeHandle(IrightPadded);
116 iFreeHandle(IleftPadded);
117 iFreeHandle(Iright_moved);
118 fFreeHandle(retSAD);
119 iFreeHandle(imleft);
120 iFreeHandle(imright);
121 iFreeHandle(retDisparity);
122 iFreeHandle(halfWin);
123 iFreeHandle(range);
124 free(start);
125 free(endC);
126 free(elapsed);
127 WRITE_TO_FILE;
128 return 0;
129}