Commit e2a9df40 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

fix for gpu::StereoBeliefPropogation:

use continuous memory for internal buffers
parent 76235cbb
...@@ -158,7 +158,7 @@ namespace ...@@ -158,7 +158,7 @@ namespace
init(stream); init(stream);
datas[0].create(rows * rthis.ndisp, cols, rthis.msg_type); createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, datas[0]);
comp_data_callers[rthis.msg_type == CV_32F][left.channels()](left, right, datas[0], StreamAccessor::getStream(stream)); comp_data_callers[rthis.msg_type == CV_32F][left.channels()](left, right, datas[0], StreamAccessor::getStream(stream));
...@@ -187,10 +187,10 @@ namespace ...@@ -187,10 +187,10 @@ namespace
private: private:
void init(Stream& stream) void init(Stream& stream)
{ {
u.create(rows * rthis.ndisp, cols, rthis.msg_type); createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, u);
d.create(rows * rthis.ndisp, cols, rthis.msg_type); createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, d);
l.create(rows * rthis.ndisp, cols, rthis.msg_type); createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, l);
r.create(rows * rthis.ndisp, cols, rthis.msg_type); createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, r);
if (rthis.levels & 1) if (rthis.levels & 1)
{ {
...@@ -216,10 +216,10 @@ namespace ...@@ -216,10 +216,10 @@ namespace
int less_rows = rows / 2; int less_rows = rows / 2;
int less_cols = cols / 2; int less_cols = cols / 2;
u2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type); createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, u2);
d2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type); createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, d2);
l2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type); createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, l2);
r2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type); createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, r2);
if ((rthis.levels & 1) == 0) if ((rthis.levels & 1) == 0)
{ {
...@@ -286,7 +286,7 @@ namespace ...@@ -286,7 +286,7 @@ namespace
cols_all[i] = cols_all[i-1] / 2; cols_all[i] = cols_all[i-1] / 2;
rows_all[i] = rows_all[i-1] / 2; rows_all[i] = rows_all[i-1] / 2;
datas[i].create(rows_all[i] * rthis.ndisp, cols_all[i], rthis.msg_type); createContinuous(rows_all[i] * rthis.ndisp, cols_all[i], rthis.msg_type, datas[i]);
data_step_down_callers[funcIdx](cols_all[i], rows_all[i], rows_all[i-1], datas[i-1], datas[i], cudaStream); data_step_down_callers[funcIdx](cols_all[i], rows_all[i], rows_all[i-1], datas[i-1], datas[i], cudaStream);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment