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
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));
......@@ -187,10 +187,10 @@ namespace
private:
void init(Stream& stream)
{
u.create(rows * rthis.ndisp, cols, rthis.msg_type);
d.create(rows * rthis.ndisp, cols, rthis.msg_type);
l.create(rows * rthis.ndisp, cols, rthis.msg_type);
r.create(rows * rthis.ndisp, cols, rthis.msg_type);
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, u);
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, d);
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, l);
createContinuous(rows * rthis.ndisp, cols, rthis.msg_type, r);
if (rthis.levels & 1)
{
......@@ -216,10 +216,10 @@ namespace
int less_rows = rows / 2;
int less_cols = cols / 2;
u2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
d2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
l2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
r2.create(less_rows * rthis.ndisp, less_cols, rthis.msg_type);
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, u2);
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, d2);
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, l2);
createContinuous(less_rows * rthis.ndisp, less_cols, rthis.msg_type, r2);
if ((rthis.levels & 1) == 0)
{
......@@ -286,7 +286,7 @@ namespace
cols_all[i] = cols_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);
}
......
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