3 #ifndef LEVELINES_COMMON_H
4 #define LEVELINES_COMMON_H
6 #include <cuda_runtime.h>
11 * \brief table de coordonnees des segments pour le quadrant 1
14 const int Di_Q1[6][3] =
15 {{ -1, -1, -1}, /* 0 */
16 { -1, -1, -1}, /* 1 */
17 { -1, -1, -1}, /* 2 */
18 { -1, -1, -1}, /* 3 */
25 * \brief table de coordonnees des segments pour le quadrant 1
28 const int Dj_Q1[6][3] =
38 ////////////////////////////////////////////////////////////////////////////////
39 // Reference CPU functions
40 ////////////////////////////////////////////////////////////////////////////////
41 extern "C" unsigned int lniv_cpu(unsigned int *image, int i, int j, int idim, int l, int *dout){
43 unsigned int value_c ;
44 unsigned int value2_c ;
45 unsigned int d, v, p, d_min, eq_min, eq, sum, sum2 ;
46 unsigned int sum_eq_min ;
51 value_c = image[ i*l + j ] ;
52 value2_c = value_c*value_c ;
63 v = image[ it*l + jt ] ;
67 eq_min = sum2 - sum*sum/4 ; /* *4 */
82 v = image[it*l + jt] ;
86 eq = sum2 - sum*sum/4 ; /* *4 */
91 d_min = d ; /* pour info */
95 /* direction 6 a 11 */
106 v = image[it*l + jt] ;
110 eq = sum2 - sum*sum/4 ; /* *4 */
115 d_min = d+6 ; /* pour info */
119 /* direction 12 a 17 */
130 v = image[it*l + jt] ;
134 eq = sum2 - sum*sum/4 ; /* *4 */
139 d_min = d+12 ; /* pour info */
143 /* direction 18 a 23 */
154 v = image[it*l + jt] ;
158 eq = sum2 - sum*sum/4 ; /* *4 */
163 d_min = d+18 ; /* pour info */
168 return sum_eq_min/4 ;
172 ////////////////////////////////////////////////////////////////////////////////
173 // GPU functions (in file.cu)
174 ////////////////////////////////////////////////////////////////////////////////
175 //extern "C" void fonc(float *h_Kernel);