  *************************************************************/
 
 __global__
-void orientation_starter_v2( Extremum*     extremum,
+void orientation_starter( Extremum*     extremum,
                              int*          extrema_counter,
+                             int*          featvec_counter,
                              Plane2D_float layer )
 {
 #ifdef USE_DYNAMIC_PARALLELISM // defined in_s_pyramid.h


            int* extrema_counters = oct_obj.getExtremaCounterD( );
            int* extrema_counter  = &extrema_counters[level];
                orientation_starter_v2
                    <<<1,1,0,oct_str>>>
                    ( oct_obj.getExtrema( level ),
                      extrema_counter,
                      oct_obj.getData( level ) );
        }
    }
}

    block.x = ORI_V1_NUM_THREADS;

    if( grid.x != 0 ) {
        compute_keypoint_orientations
            <<<grid,block>>>
            ( extremum,
              extrema_counter,
              layer );

        block.x = 32;
        block.y = 32;
        grid.x  = 1;
        ori_prefix_sum
            <<<grid,block>>>
            ( extrema_counter,
              featvec_counter,
              extremum );
    }
#endif // USE_DYNAMIC_PARALLELISM
}
