int k = 2*r+1 ;
float outval0=0.0, outval1=0.0, outval2=0.0, outval3=0.0 ;
float outval4=0.0, outval5=0.0, outval6=0.0, outval7=0.0 ;
- int bdimX = blockDim.x<<3 ; // nombre de paquets par ligne
- int tidX = threadIdx.x<<3 ; // offset paquet
+ int bdimX = blockDim.x<<3 ; // nombre de pixels traités par une ligne d'un bloc
+ int tidX = threadIdx.x<<3 ; // décalage paquet
// coordonnées absolues du point de base
int j = (__umul24(blockIdx.x,blockDim.x) + threadIdx.x)<<3 ;
// droite de la ROI
if ( threadIdx.x < r )
{
- roi8p[ idrow + bdimX + threadIdx.x ] = tex2D( tex_img_inc, j0-r +bdimX+threadIdx.x , i ) ;
- roi8p[ idrow + bdimX + threadIdx.x +r ] = tex2D( tex_img_inc, j0 +bdimX+threadIdx.x , i ) ;
+ roi8p[ idrow + bdimX + threadIdx.x ] = tex2D( tex_img_inc, j0-r
+ +bdimX+threadIdx.x , i ) ;
+ roi8p[ idrow + bdimX + threadIdx.x +r ] = tex2D( tex_img_inc, j0
+ +bdimX+threadIdx.x , i ) ;
}
__syncthreads();
for (jc=0 ; jc<k ; jc++)
{
int baseRoi = idrow + tidX +jc ;
- float valMask = mask[ jc ] ;
+ float valMask = maskh[ jc ] ;
outval0 += valMask*roi8p[ baseRoi ] ;
outval1 += valMask*roi8p[ baseRoi +1 ] ;
outval2 += valMask*roi8p[ baseRoi +2 ] ;