| OpenCV 3.4.1 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_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_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