 
 __global__
 void filter_gauss_horiz_v11_128x1( Plane2D_float src_data,
-                                    Plane2D_float dst_data )
+                                   Plane2D_float dst_data )
 {
     __shared__ float loaddata[4 + 128 + 4];
 

                          oct_obj.getIntermediateData( ) );
                }
            } else {
                filter_gauss_horiz_v11
                    <<<h_grid,h_block,0,oct_str_0>>>
                    ( oct_obj._data_tex[ level-1 ],
                      oct_obj.getIntermediateData( ) );

                dim3 block( 128, 1 );
                dim3 grid;
                const int width  = _octaves[octave].getData(0).getWidth();
                const int height = _octaves[octave].getData(0).getHeight();
                grid.x  = grid_divide( width,  128 );
                grid.y  = height;
                filter_gauss_horiz_v11_128x1
                    <<<grid,block,0,oct_str_0>>>
                    ( oct_obj._data_tex[ level-1 ],
                      oct_obj.getIntermediateData( ) );
            }

            if( level == 0 ) {
                filter_gauss_vert_v11
                    <<<v_grid,v_block,0,oct_str_0>>>
                    ( oct_obj._interm_data_tex,
                      oct_obj.getData( level ) );
            } else {
                filter_gauss_vert_v11
                    <<<v_grid,v_block,0,oct_str_0>>>
                    ( oct_obj._interm_data_tex,

            const int width  = _octaves[octave].getData(0).getWidth();
            const int height = _octaves[octave].getData(0).getHeight();

            Octave&      oct_obj   = _octaves[octave];
            cudaStream_t oct_str_0 = oct_obj.getStream(0);

            if( level == 0 ) {
                if( octave == 0 ) {
#if 0
                    dim3 block( 32, 1 );
                    dim3 grid;
                    grid.x  = grid_divide( width,  128 );
                    grid.y  = height;
                    filter_gauss_horiz_v11
                        <<<grid,block,0,oct_str_0>>>
                        ( base->array,
                          oct_obj.getIntermediateData( ) );
#else
                    dim3 block( 128, 1 );
                    dim3 grid;
                    grid.x  = grid_divide( width,  128 );
                    grid.y  = height;
                    filter_gauss_horiz_v11_128x1
                        <<<grid,block,0,oct_str_0>>>
                        ( base->array,
                          oct_obj.getIntermediateData( ) );
#endif
                } else {
                    dim3 h_block( 64, 2 );
                    dim3 h_grid;
                    h_grid.x = (unsigned int)grid_divide( width,  h_block.x );
                    h_grid.y = (unsigned int)grid_divide( height, h_block.y );

                    Octave& prev_oct_obj  = _octaves[octave-1];
                    cudaStreamWaitEvent( oct_str_0, prev_oct_obj.getEventGaussDone( _levels-3 ), 0 );

