                            _d_next_edge_after.step * _d_next_edge_after.rows,
                            _stream );
 
+    POP_CUDA_MEMSET_ASYNC( _d_next_edge_befor.data,
+                           0,
+                           _d_next_edge_befor.step * _d_next_edge_befor.rows,
+                           _stream );
+
     cerr << "Leave " << __FUNCTION__ << endl;
 }
 

__global__
void edge_hysteresis( cv::cuda::PtrStepSzb map, cv::cuda::PtrStepSzb edges )
{
    const int block_x = blockIdx.x * V7_WIDTH;
    const int idx     = block_x + threadIdx.x;
    const int idy     = blockIdx.y;


                       uint32_t*              d_new_edgelist_sz,
                       cv::cuda::PtrStepSz32s d_next_edge_coord,
                       cv::cuda::PtrStepSz32s d_next_edge_after,
                       cv::cuda::PtrStepSz32s d_next_edge_befor,
                       uint32_t               max_num_edges,
                       cv::cuda::PtrStepSzb   edges,
                       uint32_t               nmax,
