Wondercoll
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions | Variables
cxcopy.cpp File Reference
#include "_cxcore.h"

Macros

#define ICV_DEF_COPY_MASK_C1_CASE(type)
 
#define ICV_DEF_COPY_MASK_C3_CASE(type)
 
#define ICV_DEF_COPY_MASK_C4_CASE(type)
 
#define ICV_DEF_COPY_MASK_2D(name, type, cn)
 
#define ICV_DEF_SET_MASK_C1_CASE(type)
 
#define ICV_DEF_SET_MASK_C3_CASE(type)
 
#define ICV_DEF_SET_MASK_C4_CASE(type)
 
#define ICV_DEF_SET_MASK_2D(name, type, cn)
 
#define CV_DEF_INIT_COPYSET_TAB_2D(FUNCNAME, FLAG)
 
#define ICV_DEF_FLIP_HZ_CASE_C1(type)
 
#define ICV_DEF_FLIP_HZ_CASE_C3(type)
 
#define ICV_DEF_FLIP_HZ_CASE_C4(type)
 
#define ICV_DEF_FLIP_HZ_FUNC(flavor, arrtype, cn)
 

Functions

 IPCVAPI_IMPL (CvStatus, icvCopy_8u_C1R,(const uchar *src, int srcstep, uchar *dst, int dststep, CvSize size),(src, srcstep, dst, dststep, size))
 
CvCopyMaskFunc icvGetCopyMaskFunc (int elem_size)
 
CV_IMPL void cvCopy (const void *srcarr, void *dstarr, const void *maskarr)
 
CV_IMPL void cvSet (void *arr, CvScalar value, const void *maskarr)
 
CvStatus CV_STDCALL icvSetZero_8u_C1R (uchar *dst, int dststep, CvSize size)
 
CV_IMPL void cvSetZero (CvArr *arr)
 
CV_IMPL void cvFlip (const CvArr *srcarr, CvArr *dstarr, int flip_mode)
 
CV_IMPL void cvRepeat (const CvArr *srcarr, CvArr *dstarr)
 

Variables

icvSetByte_8u_C1R_t icvSetByte_8u_C1R_p = 0
 

Macro Definition Documentation

#define CV_DEF_INIT_COPYSET_TAB_2D (   FUNCNAME,
  FLAG 
)
Value:
static void icvInit##FUNCNAME##FLAG##Table( CvBtFuncTable* table ) \
{ \
table->fn_2d[1] = (void*)icv##FUNCNAME##_8u_C1##FLAG; \
table->fn_2d[2] = (void*)icv##FUNCNAME##_16s_C1##FLAG; \
table->fn_2d[3] = (void*)icv##FUNCNAME##_8u_C3##FLAG; \
table->fn_2d[4] = (void*)icv##FUNCNAME##_8u_C4##FLAG; \
table->fn_2d[6] = (void*)icv##FUNCNAME##_16s_C3##FLAG; \
table->fn_2d[8] = (void*)icv##FUNCNAME##_16s_C4##FLAG; \
table->fn_2d[12] = (void*)icv##FUNCNAME##_32f_C3##FLAG; \
table->fn_2d[16] = (void*)icv##FUNCNAME##_32f_C4##FLAG; \
table->fn_2d[24] = (void*)icv##FUNCNAME##_64s_C3##FLAG; \
table->fn_2d[32] = (void*)icv##FUNCNAME##_64s_C4##FLAG; \
}
#define ICV_DEF_COPY_MASK_2D (   name,
  type,
  cn 
)
Value:
name,( const type* src, int srcstep, type* dst, int dststep,\
CvSize size, const uchar* mask, int maskstep ), \
(src, srcstep, dst, dststep, size, mask, maskstep)) \
{ \
srcstep /= sizeof(src[0]); dststep /= sizeof(dst[0]); \
for( ; size.height--; src += srcstep, \
dst += dststep, mask += maskstep ) \
{ \
int i; \
ICV_DEF_COPY_MASK_C##cn##_CASE( type ) \
} \
\
return CV_OK; \
}
#define ICV_DEF_COPY_MASK_C1_CASE (   type)
Value:
for( i = 0; i <= size.width-2; i += 2 ) \
{ \
if( mask[i] ) \
dst[i] = src[i]; \
if( mask[i+1] ) \
dst[i+1] = src[i+1]; \
} \
for( ; i < size.width; i++ ) \
{ \
if( mask[i] ) \
dst[i] = src[i]; \
}
#define ICV_DEF_COPY_MASK_C3_CASE (   type)
Value:
for( i = 0; i < size.width; i++ ) \
if( mask[i] ) \
{ \
type t0 = src[i*3]; \
type t1 = src[i*3+1]; \
type t2 = src[i*3+2]; \
\
dst[i*3] = t0; \
dst[i*3+1] = t1; \
dst[i*3+2] = t2; \
}
#define ICV_DEF_COPY_MASK_C4_CASE (   type)
Value:
for( i = 0; i < size.width; i++ ) \
if( mask[i] ) \
{ \
type t0 = src[i*4]; \
type t1 = src[i*4+1]; \
dst[i*4] = t0; \
dst[i*4+1] = t1; \
\
t0 = src[i*4+2]; \
t1 = src[i*4+3]; \
dst[i*4+2] = t0; \
dst[i*4+3] = t1; \
}
#define ICV_DEF_FLIP_HZ_CASE_C1 (   type)
Value:
for( i = 0; i < (len+1)/2; i++ ) \
{ \
type t0 = src[i]; \
type t1 = src[len - i - 1]; \
dst[i] = t1; \
dst[len - i - 1] = t0; \
}
#define ICV_DEF_FLIP_HZ_CASE_C3 (   type)
Value:
for( i = 0; i < (len+1)/2; i++ ) \
{ \
type t0 = src[i*3]; \
type t1 = src[(len - i)*3 - 3]; \
dst[i*3] = t1; \
dst[(len - i)*3 - 3] = t0; \
t0 = src[i*3 + 1]; \
t1 = src[(len - i)*3 - 2]; \
dst[i*3 + 1] = t1; \
dst[(len - i)*3 - 2] = t0; \
t0 = src[i*3 + 2]; \
t1 = src[(len - i)*3 - 1]; \
dst[i*3 + 2] = t1; \
dst[(len - i)*3 - 1] = t0; \
}
#define ICV_DEF_FLIP_HZ_CASE_C4 (   type)
Value:
for( i = 0; i < (len+1)/2; i++ ) \
{ \
type t0 = src[i*4]; \
type t1 = src[(len - i)*4 - 4]; \
dst[i*4] = t1; \
dst[(len - i)*4 - 4] = t0; \
t0 = src[i*4 + 1]; \
t1 = src[(len - i)*4 - 3]; \
dst[i*4 + 1] = t1; \
dst[(len - i)*4 - 3] = t0; \
t0 = src[i*4 + 2]; \
t1 = src[(len - i)*4 - 2]; \
dst[i*4 + 2] = t1; \
dst[(len - i)*4 - 2] = t0; \
t0 = src[i*4 + 3]; \
t1 = src[(len - i)*4 - 1]; \
dst[i*4 + 3] = t1; \
dst[(len - i)*4 - 1] = t0; \
}
#define ICV_DEF_FLIP_HZ_FUNC (   flavor,
  arrtype,
  cn 
)
Value:
static CvStatus CV_STDCALL \
icvFlipHorz_##flavor( const arrtype* src, int srcstep, \
{ \
int i, len = size.width; \
srcstep /= sizeof(src[0]); dststep /= sizeof(dst[0]); \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
ICV_DEF_FLIP_HZ_CASE_C##cn( arrtype ) \
} \
\
return CV_OK; \
}
#define ICV_DEF_SET_MASK_2D (   name,
  type,
  cn 
)
Value:
name,( type* dst, int dststep, \
const uchar* mask, int maskstep, \
CvSize size, const type* scalar ), \
(dst, dststep, mask, maskstep, size, scalar))\
{ \
CV_UN_ENTRY_C##cn( type ); \
dststep /= sizeof(dst[0]); \
for( ; size.height--; mask += maskstep, \
dst += dststep ) \
{ \
int i; \
ICV_DEF_SET_MASK_C##cn##_CASE( type ) \
} \
\
return CV_OK; \
}
#define ICV_DEF_SET_MASK_C1_CASE (   type)
Value:
for( i = 0; i <= size.width-2; i += 2 ) \
{ \
if( mask[i] ) \
dst[i] = s0; \
if( mask[i+1] ) \
dst[i+1] = s0; \
} \
for( ; i < size.width; i++ ) \
{ \
if( mask[i] ) \
dst[i] = s0; \
}
#define ICV_DEF_SET_MASK_C3_CASE (   type)
Value:
for( i = 0; i < size.width; i++ ) \
if( mask[i] ) \
{ \
dst[i*3] = s0; \
dst[i*3+1] = s1; \
dst[i*3+2] = s2; \
}
#define ICV_DEF_SET_MASK_C4_CASE (   type)
Value:
for( i = 0; i < size.width; i++ ) \
if( mask[i] ) \
{ \
dst[i*4] = s0; \
dst[i*4+1] = s1; \
dst[i*4+2] = s2; \
dst[i*4+3] = s3; \
}

Function Documentation

CV_IMPL void cvCopy ( const void *  srcarr,
void *  dstarr,
const void *  maskarr 
)
CV_IMPL void cvFlip ( const CvArr srcarr,
CvArr dstarr,
int  flip_mode 
)
CV_IMPL void cvRepeat ( const CvArr srcarr,
CvArr dstarr 
)
CV_IMPL void cvSet ( void *  arr,
CvScalar  value,
const void *  maskarr 
)
CV_IMPL void cvSetZero ( CvArr arr)
CvCopyMaskFunc icvGetCopyMaskFunc ( int  elem_size)
CvStatus CV_STDCALL icvSetZero_8u_C1R ( uchar dst,
int  dststep,
CvSize  size 
)
IPCVAPI_IMPL ( CvStatus  ,
icvCopy_8u_C1R  ,
(const uchar *src, int srcstep,uchar *dst, int dststep, CvSize size ,
(src, srcstep, dst, dststep, size  
)

Variable Documentation

icvSetByte_8u_C1R_t icvSetByte_8u_C1R_p = 0