1#ifndef ADM_CORE_H
2#define ADM_CORE_H
3
4#define ADM_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}"
5#define ADM_RELATIVE_LIB_DIR "${AVIDEMUX_RELATIVE_LIB_DIR}"
6#define ADM_PLUGIN_DIR "${ADM_PLUGIN_DIR}"
7
8// GCC - CPU
9#cmakedefine ADM_BIG_ENDIAN
10#cmakedefine ADM_CPU_64BIT
11#cmakedefine ADM_CPU_ARMEL
12#cmakedefine ADM_CPU_ARM64
13#cmakedefine ADM_CPU_X86
14#cmakedefine ADM_CPU_X86_32
15#cmakedefine ADM_CPU_X86_64
16
17// GCC - Operating System
18#cmakedefine ADM_BSD_FAMILY
19
20// use nvidia hw encoding
21#cmakedefine USE_NVENC
22// use vdpau h264 hw decoding
23#cmakedefine USE_VDPAU
24// use xvba h264 hw decoding
25#cmakedefine USE_XVBA
26// use libva h264 hw decoding
27#cmakedefine USE_LIBVA
28// use dxva2 hw decoding
29#cmakedefine USE_DXVA2
30// use videotoolbox hw decoding and encoding
31#cmakedefine USE_VIDEOTOOLBOX
32
33// 'gettimeofday' function is present
34#cmakedefine HAVE_GETTIMEOFDAY
35
36// Presence of header files
37#cmakedefine HAVE_INTTYPES_H   1
38#cmakedefine HAVE_STDINT_H     1
39#cmakedefine HAVE_SYS_TYPES_H
40
41#ifdef _MSC_VER
42#	define ftello _ftelli64
43#	define fseeko _fseeki64
44// Not needed anymore #	define snprintf _snprintf
45#	define strcasecmp(x, y) _stricmp(x, y)
46#elif defined(__MINGW32__)
47#	define rindex strrchr
48#	define index strchr
49
50#	if !${USE_FTELLO}
51#		define ftello ftello64 // not defined on every mingw64_w32 version (e.g. set 2011-11-03 does not have it)
52#		define fseeko fseeko64
53#	endif // FTELLO
54#endif
55
56#if defined(ADM_CPU_X86_32) && defined(__GNUC__)
57#    define attribute_align_arg __attribute__((force_align_arg_pointer))
58#else
59#    define attribute_align_arg
60#endif
61
62/* use Nvwa memory leak detector */
63#cmakedefine FIND_LEAKS
64
65#endif
66