mirror of
https://github.com/opencv/opencv.git
synced 2025-01-18 22:44:02 +08:00
Merge remote-tracking branch 'upstream/2.4' into LshOrthogonalSubvectors
This commit is contained in:
commit
9cb48606ba
@ -41,12 +41,13 @@
|
||||
|
||||
#include "precomp.hpp"
|
||||
|
||||
/*
|
||||
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
|
||||
#define USE_IPP_CANNY 1
|
||||
#else
|
||||
#undef USE_IPP_CANNY
|
||||
#endif
|
||||
|
||||
*/
|
||||
#ifdef USE_IPP_CANNY
|
||||
namespace cv
|
||||
{
|
||||
|
@ -3737,7 +3737,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
CV_Assert( scn == 3 || scn == 4 );
|
||||
_dst.create(sz, CV_MAKETYPE(depth, 1));
|
||||
dst = _dst.getMat();
|
||||
|
||||
/*
|
||||
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
|
||||
if( code == CV_BGR2GRAY )
|
||||
{
|
||||
@ -3760,7 +3760,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
*/
|
||||
bidx = code == CV_BGR2GRAY || code == CV_BGRA2GRAY ? 0 : 2;
|
||||
|
||||
if( depth == CV_8U )
|
||||
|
@ -1846,7 +1846,7 @@ void cv::resize( InputArray _src, OutputArray _dst, Size dsize,
|
||||
int depth = src.depth(), cn = src.channels();
|
||||
double scale_x = 1./inv_scale_x, scale_y = 1./inv_scale_y;
|
||||
int k, sx, sy, dx, dy;
|
||||
|
||||
/*
|
||||
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
|
||||
int mode = interpolation == INTER_LINEAR ? IPPI_INTER_LINEAR : 0;
|
||||
int type = src.type();
|
||||
@ -1874,7 +1874,7 @@ void cv::resize( InputArray _src, OutputArray _dst, Size dsize,
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
*/
|
||||
if( interpolation == INTER_NEAREST )
|
||||
{
|
||||
resizeNN( src, dst, inv_scale_x, inv_scale_y );
|
||||
@ -3477,7 +3477,7 @@ void cv::warpAffine( InputArray _src, OutputArray _dst,
|
||||
int* adelta = &_abdelta[0], *bdelta = adelta + dst.cols;
|
||||
const int AB_BITS = MAX(10, (int)INTER_BITS);
|
||||
const int AB_SCALE = 1 << AB_BITS;
|
||||
|
||||
/*
|
||||
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
|
||||
int depth = src.depth();
|
||||
int channels = src.channels();
|
||||
@ -3521,7 +3521,7 @@ void cv::warpAffine( InputArray _src, OutputArray _dst,
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
*/
|
||||
for( x = 0; x < dst.cols; x++ )
|
||||
{
|
||||
adelta[x] = saturate_cast<int>(M[0]*x*AB_SCALE);
|
||||
@ -3702,7 +3702,7 @@ void cv::warpPerspective( InputArray _src, OutputArray _dst, InputArray _M0,
|
||||
|
||||
if( !(flags & WARP_INVERSE_MAP) )
|
||||
invert(matM, matM);
|
||||
|
||||
/*
|
||||
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
|
||||
int depth = src.depth();
|
||||
int channels = src.channels();
|
||||
@ -3746,7 +3746,7 @@ void cv::warpPerspective( InputArray _src, OutputArray _dst, InputArray _M0,
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
*/
|
||||
Range range(0, dst.rows);
|
||||
warpPerspectiveInvoker invoker(src, dst, M, interpolation, borderType, borderValue);
|
||||
parallel_for_(range, invoker, dst.total()/(double)(1<<16));
|
||||
|
@ -335,7 +335,7 @@ icvCreateHidHaarClassifierCascade( CvHaarClassifierCascade* cascade )
|
||||
out->isStumpBased &= node_count == 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
#ifdef HAVE_IPP
|
||||
int can_use_ipp = !out->has_tilted_features && !out->is_tree && out->isStumpBased;
|
||||
|
||||
@ -391,7 +391,7 @@ icvCreateHidHaarClassifierCascade( CvHaarClassifierCascade* cascade )
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
*/
|
||||
cascade->hid_cascade = out;
|
||||
assert( (char*)haar_node_ptr - (char*)out <= datasize );
|
||||
|
||||
|
@ -63,7 +63,7 @@ inline float sum(float val)
|
||||
return val;
|
||||
}
|
||||
|
||||
static float clamp1(float var, float learningRate, float diff, float minVar)
|
||||
inline float clamp1(float var, float learningRate, float diff, float minVar)
|
||||
{
|
||||
return fmax(var + learningRate * (diff * diff - var), minVar);
|
||||
}
|
||||
@ -96,7 +96,7 @@ inline float sum(const float4 val)
|
||||
return (val.x + val.y + val.z);
|
||||
}
|
||||
|
||||
static void swap4(__global float4* ptr, int x, int y, int k, int rows, int ptr_step)
|
||||
inline void swap4(__global float4* ptr, int x, int y, int k, int rows, int ptr_step)
|
||||
{
|
||||
float4 val = ptr[(k * rows + y) * ptr_step + x];
|
||||
ptr[(k * rows + y) * ptr_step + x] = ptr[((k + 1) * rows + y) * ptr_step + x];
|
||||
@ -104,7 +104,7 @@ static void swap4(__global float4* ptr, int x, int y, int k, int rows, int ptr_s
|
||||
}
|
||||
|
||||
|
||||
static float4 clamp1(const float4 var, float learningRate, const float4 diff, float minVar)
|
||||
inline float4 clamp1(const float4 var, float learningRate, const float4 diff, float minVar)
|
||||
{
|
||||
float4 result;
|
||||
result.x = fmax(var.x + learningRate * (diff.x * diff.x - var.x), minVar);
|
||||
@ -128,7 +128,7 @@ typedef struct
|
||||
uchar c_shadowVal;
|
||||
} con_srtuct_t;
|
||||
|
||||
static void swap(__global float* ptr, int x, int y, int k, int rows, int ptr_step)
|
||||
inline void swap(__global float* ptr, int x, int y, int k, int rows, int ptr_step)
|
||||
{
|
||||
float val = ptr[(k * rows + y) * ptr_step + x];
|
||||
ptr[(k * rows + y) * ptr_step + x] = ptr[((k + 1) * rows + y) * ptr_step + x];
|
||||
|
@ -44,7 +44,7 @@
|
||||
//
|
||||
//M*/
|
||||
|
||||
static float distance_(__global const float * center, __global const float * src, int feature_length)
|
||||
inline float distance_(__global const float * center, __global const float * src, int feature_length)
|
||||
{
|
||||
float res = 0;
|
||||
float4 v0, v1, v2;
|
||||
|
@ -46,7 +46,7 @@
|
||||
//
|
||||
//M*/
|
||||
|
||||
static short2 do_mean_shift(int x0, int y0, __global uchar4* out,int out_step,
|
||||
inline short2 do_mean_shift(int x0, int y0, __global uchar4* out,int out_step,
|
||||
__global uchar4* in, int in_step, int dst_off, int src_off,
|
||||
int cols, int rows, int sp, int sr, int maxIter, float eps)
|
||||
{
|
||||
|
@ -208,7 +208,7 @@ __kernel void normalize_hists_36_kernel(__global float* block_hists,
|
||||
//-------------------------------------------------------------
|
||||
// Normalization of histograms via L2Hys_norm
|
||||
//
|
||||
static float reduce_smem(volatile __local float* smem, int size)
|
||||
inline float reduce_smem(volatile __local float* smem, int size)
|
||||
{
|
||||
unsigned int tid = get_local_id(0);
|
||||
float sum = smem[tid];
|
||||
|
@ -52,7 +52,7 @@
|
||||
#endif
|
||||
#ifdef CPU
|
||||
|
||||
static void reduce3(float val1, float val2, float val3, __local float* smem1, __local float* smem2, __local float* smem3, int tid)
|
||||
inline void reduce3(float val1, float val2, float val3, __local float* smem1, __local float* smem2, __local float* smem3, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
smem2[tid] = val2;
|
||||
@ -71,7 +71,7 @@ static void reduce3(float val1, float val2, float val3, __local float* smem1,
|
||||
}
|
||||
}
|
||||
|
||||
static void reduce2(float val1, float val2, volatile __local float* smem1, volatile __local float* smem2, int tid)
|
||||
inline void reduce2(float val1, float val2, volatile __local float* smem1, volatile __local float* smem2, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
smem2[tid] = val2;
|
||||
@ -88,7 +88,7 @@ static void reduce2(float val1, float val2, volatile __local float* smem1, volat
|
||||
}
|
||||
}
|
||||
|
||||
static void reduce1(float val1, volatile __local float* smem1, int tid)
|
||||
inline void reduce1(float val1, volatile __local float* smem1, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
barrier(CLK_LOCAL_MEM_FENCE);
|
||||
@ -103,7 +103,7 @@ static void reduce1(float val1, volatile __local float* smem1, int tid)
|
||||
}
|
||||
}
|
||||
#else
|
||||
static void reduce3(float val1, float val2, float val3,
|
||||
inline void reduce3(float val1, float val2, float val3,
|
||||
__local volatile float* smem1, __local volatile float* smem2, __local volatile float* smem3, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
@ -150,7 +150,7 @@ static void reduce3(float val1, float val2, float val3,
|
||||
barrier(CLK_LOCAL_MEM_FENCE);
|
||||
}
|
||||
|
||||
static void reduce2(float val1, float val2, __local volatile float* smem1, __local volatile float* smem2, int tid)
|
||||
inline void reduce2(float val1, float val2, __local volatile float* smem1, __local volatile float* smem2, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
smem2[tid] = val2;
|
||||
@ -189,7 +189,7 @@ static void reduce2(float val1, float val2, __local volatile float* smem1, __loc
|
||||
barrier(CLK_LOCAL_MEM_FENCE);
|
||||
}
|
||||
|
||||
static void reduce1(float val1, __local volatile float* smem1, int tid)
|
||||
inline void reduce1(float val1, __local volatile float* smem1, int tid)
|
||||
{
|
||||
smem1[tid] = val1;
|
||||
barrier(CLK_LOCAL_MEM_FENCE);
|
||||
@ -225,7 +225,7 @@ static void reduce1(float val1, __local volatile float* smem1, int tid)
|
||||
// Image read mode
|
||||
__constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_LINEAR;
|
||||
|
||||
static void SetPatch(image2d_t I, float x, float y,
|
||||
inline void SetPatch(image2d_t I, float x, float y,
|
||||
float* Pch, float* Dx, float* Dy,
|
||||
float* A11, float* A12, float* A22)
|
||||
{
|
||||
@ -262,7 +262,7 @@ inline void GetError(image2d_t J, const float x, const float y, const float* Pch
|
||||
*errval += fabs(diff);
|
||||
}
|
||||
|
||||
static void SetPatch4(image2d_t I, const float x, const float y,
|
||||
inline void SetPatch4(image2d_t I, const float x, const float y,
|
||||
float4* Pch, float4* Dx, float4* Dy,
|
||||
float* A11, float* A12, float* A22)
|
||||
{
|
||||
@ -285,7 +285,7 @@ static void SetPatch4(image2d_t I, const float x, const float y,
|
||||
*A22 += sqIdx.x + sqIdx.y + sqIdx.z;
|
||||
}
|
||||
|
||||
static void GetPatch4(image2d_t J, const float x, const float y,
|
||||
inline void GetPatch4(image2d_t J, const float x, const float y,
|
||||
const float4* Pch, const float4* Dx, const float4* Dy,
|
||||
float* b1, float* b2)
|
||||
{
|
||||
@ -297,7 +297,7 @@ static void GetPatch4(image2d_t J, const float x, const float y,
|
||||
*b2 += xdiff.x + xdiff.y + xdiff.z;
|
||||
}
|
||||
|
||||
static void GetError4(image2d_t J, const float x, const float y, const float4* Pch, float* errval)
|
||||
inline void GetError4(image2d_t J, const float x, const float y, const float4* Pch, float* errval)
|
||||
{
|
||||
float4 diff = read_imagef(J, sampler, (float2)(x,y))-*Pch;
|
||||
*errval += fabs(diff.x) + fabs(diff.y) + fabs(diff.z);
|
||||
|
@ -97,7 +97,7 @@ inline float pix_diff_1(const uchar4 l, __global const uchar *rs)
|
||||
return abs((int)(l.x) - *rs);
|
||||
}
|
||||
|
||||
static float pix_diff_4(const uchar4 l, __global const uchar *rs)
|
||||
inline float pix_diff_4(const uchar4 l, __global const uchar *rs)
|
||||
{
|
||||
uchar4 r;
|
||||
r = *((__global uchar4 *)rs);
|
||||
@ -233,7 +233,7 @@ __kernel void level_up_message(__global T *src, int src_rows, int src_step,
|
||||
///////////////////////////////////////////////////////////////
|
||||
//////////////////// calc all iterations /////////////////////
|
||||
///////////////////////////////////////////////////////////////
|
||||
static void message(__global T *us_, __global T *ds_, __global T *ls_, __global T *rs_,
|
||||
inline void message(__global T *us_, __global T *ds_, __global T *ls_, __global T *rs_,
|
||||
const __global T *dt,
|
||||
int u_step, int msg_disp_step, int data_disp_step,
|
||||
float4 cmax_disc_term, float4 cdisc_single_jump)
|
||||
|
@ -62,7 +62,7 @@ __kernel void centeredGradientKernel(__global const float* src, int src_col, int
|
||||
|
||||
}
|
||||
|
||||
static float bicubicCoeff(float x_)
|
||||
inline float bicubicCoeff(float x_)
|
||||
{
|
||||
|
||||
float x = fabs(x_);
|
||||
@ -156,7 +156,7 @@ __kernel void warpBackwardKernel(__global const float* I0, int I0_step, int I0_c
|
||||
|
||||
}
|
||||
|
||||
static float readImage(__global float *image, int x, int y, int rows, int cols, int elemCntPerRow)
|
||||
inline float readImage(__global float *image, int x, int y, int rows, int cols, int elemCntPerRow)
|
||||
{
|
||||
int i0 = clamp(x, 0, cols - 1);
|
||||
int j0 = clamp(y, 0, rows - 1);
|
||||
@ -284,7 +284,7 @@ __kernel void estimateDualVariablesKernel(__global const float* u1, int u1_col,
|
||||
|
||||
}
|
||||
|
||||
static float divergence(__global const float* v1, __global const float* v2, int y, int x, int v1_step, int v2_step)
|
||||
inline float divergence(__global const float* v1, __global const float* v2, int y, int x, int v1_step, int v2_step)
|
||||
{
|
||||
|
||||
if (x > 0 && y > 0)
|
||||
|
Loading…
Reference in New Issue
Block a user