OpenCV  4.0.0-alpha
Open Source Computer Vision
Macros
cv_cpu_helper.h File Reference

Macros

#define __CV_CPU_DISPATCH_CHAIN_AVX(fn, args, mode, ...)   CV_CPU_CALL_AVX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_AVX2(fn, args, mode, ...)   CV_CPU_CALL_AVX2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_AVX512_SKX(fn, args, mode, ...)   CV_CPU_CALL_AVX512_SKX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_AVX_512F(fn, args, mode, ...)   CV_CPU_CALL_AVX_512F(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_BASELINE(fn, args, mode, ...)   CV_CPU_CALL_BASELINE(fn, args) /* last in sequence */
 
#define __CV_CPU_DISPATCH_CHAIN_FMA3(fn, args, mode, ...)   CV_CPU_CALL_FMA3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_FP16(fn, args, mode, ...)   CV_CPU_CALL_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_NEON(fn, args, mode, ...)   CV_CPU_CALL_NEON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_POPCNT(fn, args, mode, ...)   CV_CPU_CALL_POPCNT(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSE(fn, args, mode, ...)   CV_CPU_CALL_SSE(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSE2(fn, args, mode, ...)   CV_CPU_CALL_SSE2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSE3(fn, args, mode, ...)   CV_CPU_CALL_SSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSE4_1(fn, args, mode, ...)   CV_CPU_CALL_SSE4_1(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSE4_2(fn, args, mode, ...)   CV_CPU_CALL_SSE4_2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_SSSE3(fn, args, mode, ...)   CV_CPU_CALL_SSSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define __CV_CPU_DISPATCH_CHAIN_VSX(fn, args, mode, ...)   CV_CPU_CALL_VSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
 
#define CV_CPU_CALL_AVX(fn, args)
 
#define CV_CPU_CALL_AVX2(fn, args)
 
#define CV_CPU_CALL_AVX2_(fn, args)
 
#define CV_CPU_CALL_AVX512_SKX(fn, args)
 
#define CV_CPU_CALL_AVX512_SKX_(fn, args)
 
#define CV_CPU_CALL_AVX_(fn, args)
 
#define CV_CPU_CALL_AVX_512F(fn, args)
 
#define CV_CPU_CALL_AVX_512F_(fn, args)
 
#define CV_CPU_CALL_BASELINE(fn, args)   return (cpu_baseline::fn args)
 
#define CV_CPU_CALL_FMA3(fn, args)
 
#define CV_CPU_CALL_FMA3_(fn, args)
 
#define CV_CPU_CALL_FP16(fn, args)
 
#define CV_CPU_CALL_FP16_(fn, args)
 
#define CV_CPU_CALL_NEON(fn, args)
 
#define CV_CPU_CALL_NEON_(fn, args)
 
#define CV_CPU_CALL_POPCNT(fn, args)
 
#define CV_CPU_CALL_POPCNT_(fn, args)
 
#define CV_CPU_CALL_SSE(fn, args)
 
#define CV_CPU_CALL_SSE2(fn, args)
 
#define CV_CPU_CALL_SSE2_(fn, args)
 
#define CV_CPU_CALL_SSE3(fn, args)
 
#define CV_CPU_CALL_SSE3_(fn, args)
 
#define CV_CPU_CALL_SSE4_1(fn, args)
 
#define CV_CPU_CALL_SSE4_1_(fn, args)
 
#define CV_CPU_CALL_SSE4_2(fn, args)
 
#define CV_CPU_CALL_SSE4_2_(fn, args)
 
#define CV_CPU_CALL_SSE_(fn, args)
 
#define CV_CPU_CALL_SSSE3(fn, args)
 
#define CV_CPU_CALL_SSSE3_(fn, args)
 
#define CV_CPU_CALL_VSX(fn, args)
 
#define CV_CPU_CALL_VSX_(fn, args)
 
#define CV_CPU_FORCE_AVX   0
 
#define CV_CPU_FORCE_AVX2   0
 
#define CV_CPU_FORCE_AVX512_SKX   0
 
#define CV_CPU_FORCE_AVX_512F   0
 
#define CV_CPU_FORCE_FMA3   0
 
#define CV_CPU_FORCE_FP16   0
 
#define CV_CPU_FORCE_NEON   0
 
#define CV_CPU_FORCE_POPCNT   0
 
#define CV_CPU_FORCE_SSE   0
 
#define CV_CPU_FORCE_SSE2   0
 
#define CV_CPU_FORCE_SSE3   0
 
#define CV_CPU_FORCE_SSE4_1   0
 
#define CV_CPU_FORCE_SSE4_2   0
 
#define CV_CPU_FORCE_SSSE3   0
 
#define CV_CPU_FORCE_VSX   0
 
#define CV_CPU_HAS_SUPPORT_AVX   0
 
#define CV_CPU_HAS_SUPPORT_AVX2   0
 
#define CV_CPU_HAS_SUPPORT_AVX512_SKX   0
 
#define CV_CPU_HAS_SUPPORT_AVX_512F   0
 
#define CV_CPU_HAS_SUPPORT_FMA3   0
 
#define CV_CPU_HAS_SUPPORT_FP16   0
 
#define CV_CPU_HAS_SUPPORT_NEON   0
 
#define CV_CPU_HAS_SUPPORT_POPCNT   0
 
#define CV_CPU_HAS_SUPPORT_SSE   0
 
#define CV_CPU_HAS_SUPPORT_SSE2   0
 
#define CV_CPU_HAS_SUPPORT_SSE3   0
 
#define CV_CPU_HAS_SUPPORT_SSE4_1   0
 
#define CV_CPU_HAS_SUPPORT_SSE4_2   0
 
#define CV_CPU_HAS_SUPPORT_SSSE3   0
 
#define CV_CPU_HAS_SUPPORT_VSX   0
 
#define CV_TRY_AVX   0
 
#define CV_TRY_AVX2   0
 
#define CV_TRY_AVX512_SKX   0
 
#define CV_TRY_AVX_512F   0
 
#define CV_TRY_FMA3   0
 
#define CV_TRY_FP16   0
 
#define CV_TRY_NEON   0
 
#define CV_TRY_POPCNT   0
 
#define CV_TRY_SSE   0
 
#define CV_TRY_SSE2   0
 
#define CV_TRY_SSE3   0
 
#define CV_TRY_SSE4_1   0
 
#define CV_TRY_SSE4_2   0
 
#define CV_TRY_SSSE3   0
 
#define CV_TRY_VSX   0
 

Macro Definition Documentation

§ __CV_CPU_DISPATCH_CHAIN_AVX

#define __CV_CPU_DISPATCH_CHAIN_AVX (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_AVX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_AVX2

#define __CV_CPU_DISPATCH_CHAIN_AVX2 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_AVX2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_AVX512_SKX

#define __CV_CPU_DISPATCH_CHAIN_AVX512_SKX (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_AVX512_SKX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_AVX_512F

#define __CV_CPU_DISPATCH_CHAIN_AVX_512F (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_AVX_512F(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_BASELINE

#define __CV_CPU_DISPATCH_CHAIN_BASELINE (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_BASELINE(fn, args) /* last in sequence */

§ __CV_CPU_DISPATCH_CHAIN_FMA3

#define __CV_CPU_DISPATCH_CHAIN_FMA3 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_FMA3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_FP16

#define __CV_CPU_DISPATCH_CHAIN_FP16 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_NEON

#define __CV_CPU_DISPATCH_CHAIN_NEON (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_NEON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_POPCNT

#define __CV_CPU_DISPATCH_CHAIN_POPCNT (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_POPCNT(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSE

#define __CV_CPU_DISPATCH_CHAIN_SSE (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSE(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSE2

#define __CV_CPU_DISPATCH_CHAIN_SSE2 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSE2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSE3

#define __CV_CPU_DISPATCH_CHAIN_SSE3 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSE4_1

#define __CV_CPU_DISPATCH_CHAIN_SSE4_1 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSE4_1(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSE4_2

#define __CV_CPU_DISPATCH_CHAIN_SSE4_2 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSE4_2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_SSSE3

#define __CV_CPU_DISPATCH_CHAIN_SSSE3 (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_SSSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ __CV_CPU_DISPATCH_CHAIN_VSX

#define __CV_CPU_DISPATCH_CHAIN_VSX (   fn,
  args,
  mode,
  ... 
)    CV_CPU_CALL_VSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))

§ CV_CPU_CALL_AVX

#define CV_CPU_CALL_AVX (   fn,
  args 
)

§ CV_CPU_CALL_AVX2

#define CV_CPU_CALL_AVX2 (   fn,
  args 
)

§ CV_CPU_CALL_AVX2_

#define CV_CPU_CALL_AVX2_ (   fn,
  args 
)

§ CV_CPU_CALL_AVX512_SKX

#define CV_CPU_CALL_AVX512_SKX (   fn,
  args 
)

§ CV_CPU_CALL_AVX512_SKX_

#define CV_CPU_CALL_AVX512_SKX_ (   fn,
  args 
)

§ CV_CPU_CALL_AVX_

#define CV_CPU_CALL_AVX_ (   fn,
  args 
)

§ CV_CPU_CALL_AVX_512F

#define CV_CPU_CALL_AVX_512F (   fn,
  args 
)

§ CV_CPU_CALL_AVX_512F_

#define CV_CPU_CALL_AVX_512F_ (   fn,
  args 
)

§ CV_CPU_CALL_BASELINE

#define CV_CPU_CALL_BASELINE (   fn,
  args 
)    return (cpu_baseline::fn args)

§ CV_CPU_CALL_FMA3

#define CV_CPU_CALL_FMA3 (   fn,
  args 
)

§ CV_CPU_CALL_FMA3_

#define CV_CPU_CALL_FMA3_ (   fn,
  args 
)

§ CV_CPU_CALL_FP16

#define CV_CPU_CALL_FP16 (   fn,
  args 
)

§ CV_CPU_CALL_FP16_

#define CV_CPU_CALL_FP16_ (   fn,
  args 
)

§ CV_CPU_CALL_NEON

#define CV_CPU_CALL_NEON (   fn,
  args 
)

§ CV_CPU_CALL_NEON_

#define CV_CPU_CALL_NEON_ (   fn,
  args 
)

§ CV_CPU_CALL_POPCNT

#define CV_CPU_CALL_POPCNT (   fn,
  args 
)

§ CV_CPU_CALL_POPCNT_

#define CV_CPU_CALL_POPCNT_ (   fn,
  args 
)

§ CV_CPU_CALL_SSE

#define CV_CPU_CALL_SSE (   fn,
  args 
)

§ CV_CPU_CALL_SSE2

#define CV_CPU_CALL_SSE2 (   fn,
  args 
)

§ CV_CPU_CALL_SSE2_

#define CV_CPU_CALL_SSE2_ (   fn,
  args 
)

§ CV_CPU_CALL_SSE3

#define CV_CPU_CALL_SSE3 (   fn,
  args 
)

§ CV_CPU_CALL_SSE3_

#define CV_CPU_CALL_SSE3_ (   fn,
  args 
)

§ CV_CPU_CALL_SSE4_1

#define CV_CPU_CALL_SSE4_1 (   fn,
  args 
)

§ CV_CPU_CALL_SSE4_1_

#define CV_CPU_CALL_SSE4_1_ (   fn,
  args 
)

§ CV_CPU_CALL_SSE4_2

#define CV_CPU_CALL_SSE4_2 (   fn,
  args 
)

§ CV_CPU_CALL_SSE4_2_

#define CV_CPU_CALL_SSE4_2_ (   fn,
  args 
)

§ CV_CPU_CALL_SSE_

#define CV_CPU_CALL_SSE_ (   fn,
  args 
)

§ CV_CPU_CALL_SSSE3

#define CV_CPU_CALL_SSSE3 (   fn,
  args 
)

§ CV_CPU_CALL_SSSE3_

#define CV_CPU_CALL_SSSE3_ (   fn,
  args 
)

§ CV_CPU_CALL_VSX

#define CV_CPU_CALL_VSX (   fn,
  args 
)

§ CV_CPU_CALL_VSX_

#define CV_CPU_CALL_VSX_ (   fn,
  args 
)

§ CV_CPU_FORCE_AVX

#define CV_CPU_FORCE_AVX   0

§ CV_CPU_FORCE_AVX2

#define CV_CPU_FORCE_AVX2   0

§ CV_CPU_FORCE_AVX512_SKX

#define CV_CPU_FORCE_AVX512_SKX   0

§ CV_CPU_FORCE_AVX_512F

#define CV_CPU_FORCE_AVX_512F   0

§ CV_CPU_FORCE_FMA3

#define CV_CPU_FORCE_FMA3   0

§ CV_CPU_FORCE_FP16

#define CV_CPU_FORCE_FP16   0

§ CV_CPU_FORCE_NEON

#define CV_CPU_FORCE_NEON   0

§ CV_CPU_FORCE_POPCNT

#define CV_CPU_FORCE_POPCNT   0

§ CV_CPU_FORCE_SSE

#define CV_CPU_FORCE_SSE   0

§ CV_CPU_FORCE_SSE2

#define CV_CPU_FORCE_SSE2   0

§ CV_CPU_FORCE_SSE3

#define CV_CPU_FORCE_SSE3   0

§ CV_CPU_FORCE_SSE4_1

#define CV_CPU_FORCE_SSE4_1   0

§ CV_CPU_FORCE_SSE4_2

#define CV_CPU_FORCE_SSE4_2   0

§ CV_CPU_FORCE_SSSE3

#define CV_CPU_FORCE_SSSE3   0

§ CV_CPU_FORCE_VSX

#define CV_CPU_FORCE_VSX   0

§ CV_CPU_HAS_SUPPORT_AVX

#define CV_CPU_HAS_SUPPORT_AVX   0

§ CV_CPU_HAS_SUPPORT_AVX2

#define CV_CPU_HAS_SUPPORT_AVX2   0

§ CV_CPU_HAS_SUPPORT_AVX512_SKX

#define CV_CPU_HAS_SUPPORT_AVX512_SKX   0

§ CV_CPU_HAS_SUPPORT_AVX_512F

#define CV_CPU_HAS_SUPPORT_AVX_512F   0

§ CV_CPU_HAS_SUPPORT_FMA3

#define CV_CPU_HAS_SUPPORT_FMA3   0

§ CV_CPU_HAS_SUPPORT_FP16

#define CV_CPU_HAS_SUPPORT_FP16   0

§ CV_CPU_HAS_SUPPORT_NEON

#define CV_CPU_HAS_SUPPORT_NEON   0

§ CV_CPU_HAS_SUPPORT_POPCNT

#define CV_CPU_HAS_SUPPORT_POPCNT   0

§ CV_CPU_HAS_SUPPORT_SSE

#define CV_CPU_HAS_SUPPORT_SSE   0

§ CV_CPU_HAS_SUPPORT_SSE2

#define CV_CPU_HAS_SUPPORT_SSE2   0

§ CV_CPU_HAS_SUPPORT_SSE3

#define CV_CPU_HAS_SUPPORT_SSE3   0

§ CV_CPU_HAS_SUPPORT_SSE4_1

#define CV_CPU_HAS_SUPPORT_SSE4_1   0

§ CV_CPU_HAS_SUPPORT_SSE4_2

#define CV_CPU_HAS_SUPPORT_SSE4_2   0

§ CV_CPU_HAS_SUPPORT_SSSE3

#define CV_CPU_HAS_SUPPORT_SSSE3   0

§ CV_CPU_HAS_SUPPORT_VSX

#define CV_CPU_HAS_SUPPORT_VSX   0

§ CV_TRY_AVX

#define CV_TRY_AVX   0

§ CV_TRY_AVX2

#define CV_TRY_AVX2   0

§ CV_TRY_AVX512_SKX

#define CV_TRY_AVX512_SKX   0

§ CV_TRY_AVX_512F

#define CV_TRY_AVX_512F   0

§ CV_TRY_FMA3

#define CV_TRY_FMA3   0

§ CV_TRY_FP16

#define CV_TRY_FP16   0

§ CV_TRY_NEON

#define CV_TRY_NEON   0

§ CV_TRY_POPCNT

#define CV_TRY_POPCNT   0

§ CV_TRY_SSE

#define CV_TRY_SSE   0

§ CV_TRY_SSE2

#define CV_TRY_SSE2   0

§ CV_TRY_SSE3

#define CV_TRY_SSE3   0

§ CV_TRY_SSE4_1

#define CV_TRY_SSE4_1   0

§ CV_TRY_SSE4_2

#define CV_TRY_SSE4_2   0

§ CV_TRY_SSSE3

#define CV_TRY_SSSE3   0

§ CV_TRY_VSX

#define CV_TRY_VSX   0