gecko-dev/media/libdav1d/config.h

62 строки
1.2 KiB
C

#pragma once
// Set platform
#if defined(__aarch64__) || defined(_M_ARM64)
# define ARCH_AARCH64 1
#else
# define ARCH_AARCH64 0
#endif
#if defined(__arm__) || defined(_M_ARM)
# define ARCH_ARM 1
#else
# define ARCH_ARM 0
#endif
#if defined(__i386__) || defined(_M_IX86)
# define ARCH_X86_32 1
#else
# define ARCH_X86_32 0
#endif
#if defined(__x86_64__) || defined(_M_X64)
# define ARCH_X86_64 1
#else
# define ARCH_X86_64 0
#endif
#if ARCH_X86_32 == 1 || ARCH_X86_64 == 1
# define ARCH_X86 1
#else
# define ARCH_X86 0
#endif
// Set both bitdepeth in every case
#define CONFIG_16BPC 1
#define CONFIG_8BPC 1
// Enable asm
#if (ARCH_x86_32 == 1 || ARCH_X86_64 == 1) && defined(__linux__) && \
!defined(__ANDROID__)
# define HAVE_ASM 1
#else
# define HAVE_ASM 0
#endif
// The following macros are defined from autoconf
// according to the system configuration.
// (HAVE_MEMALIGN | HAVE_ALIGNED_MALLOC | HAVE_POSIX_MEMALIGN)
// HAVE_UNISTD_H
// Important when asm is enabled
#if defined(__APPLE__)
# define PREFIX 1
#endif
#if (ARCH_x86_32 == 1 || ARCH_X86_64 == 1) && defined(__linux__) && \
!defined(__ANDROID__)
# define STACK_ALIGNMENT 16
#else
# define STACK_ALIGNMENT 32
#endif