1 namespace cv { namespace cuda { namespace device 2 { 3 namespace stereocsbp 4 { 5 template<class T> 6 void init_data_cost(const uchar *left, const uchar *right, uchar *ctemp, size_t cimg_step, int rows, int cols, T* disp_selected_pyr, T* data_cost_selected, size_t msg_step, 7 int h, int w, int level, int nr_plane, int ndisp, int channels, float data_weight, float max_data_term, int min_disp, bool use_local_init_data_cost, cudaStream_t stream); 8 9 template<class T> 10 void compute_data_cost(const uchar *left, const uchar *right, size_t cimg_step, const T* disp_selected_pyr, T* data_cost, size_t msg_step, 11 int rows, int cols, int h, int w, int h2, int level, int nr_plane, int channels, float data_weight, float max_data_term, 12 int min_disp, cudaStream_t stream); 13 14 template<class T> 15 void init_message(uchar *ctemp, T* u_new, T* d_new, T* l_new, T* r_new, 16 const T* u_cur, const T* d_cur, const T* l_cur, const T* r_cur, 17 T* selected_disp_pyr_new, const T* selected_disp_pyr_cur, 18 T* data_cost_selected, const T* data_cost, size_t msg_step, 19 int h, int w, int nr_plane, int h2, int w2, int nr_plane2, cudaStream_t stream); 20 21 template<class T> 22 void calc_all_iterations(uchar *ctemp, T* u, T* d, T* l, T* r, const T* data_cost_selected, 23 const T* selected_disp_pyr_cur, size_t msg_step, int h, int w, int nr_plane, int iters, int max_disc_term, float disc_single_jump, cudaStream_t stream); 24 25 template<class T> 26 void compute_disp(const T* u, const T* d, const T* l, const T* r, const T* data_cost_selected, const T* disp_selected, size_t msg_step, 27 const PtrStepSz<short>& disp, int nr_plane, cudaStream_t stream); 28 } 29 }}} 30