提交 2afb02fc 编写于 作者: V Vladislav Vinogradov

fix BORDER_WRAP processing on Maxwell generation

上级 7ddc2cc0
......@@ -632,12 +632,12 @@ namespace cv { namespace cuda { namespace device
__device__ __forceinline__ int idx_row_low(int y) const
{
return (y >= 0) * y + (y < 0) * (y - ((y - height + 1) / height) * height);
return (y >= 0) ? y : (y - ((y - height + 1) / height) * height);
}
__device__ __forceinline__ int idx_row_high(int y) const
{
return (y < height) * y + (y >= height) * (y % height);
return (y < height) ? y : (y % height);
}
__device__ __forceinline__ int idx_row(int y) const
......@@ -647,12 +647,12 @@ namespace cv { namespace cuda { namespace device
__device__ __forceinline__ int idx_col_low(int x) const
{
return (x >= 0) * x + (x < 0) * (x - ((x - width + 1) / width) * width);
return (x >= 0) ? x : (x - ((x - width + 1) / width) * width);
}
__device__ __forceinline__ int idx_col_high(int x) const
{
return (x < width) * x + (x >= width) * (x % width);
return (x < width) ? x : (x % width);
}
__device__ __forceinline__ int idx_col(int x) const
......
......@@ -198,12 +198,12 @@ struct BrdWrap
{
__device__ __forceinline__ static int idx_low(int i, int len)
{
return (i >= 0) * i + (i < 0) * (i - ((i - len + 1) / len) * len);
return (i >= 0) ? i : (i - ((i - len + 1) / len) * len);
}
__device__ __forceinline__ static int idx_high(int i, int len)
{
return (i < len) * i + (i >= len) * (i % len);
return (i < len) ? i : (i % len);
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册