mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
configure: set WEBP_HAVE_AVX2 when available
this is used to set WEBP_USE_AVX2 in files where the build flag won't be used, i.e., dsp/enc.c, which enables VP8EncDspInitAVX2() to be called Change-Id: I362f4ba39ca40d3e07a081292d5f743c649d9d7f
This commit is contained in:
parent
a2ac8a420e
commit
230a055501
@ -60,6 +60,11 @@ TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wvla])
|
|||||||
AC_SUBST([AM_CFLAGS])
|
AC_SUBST([AM_CFLAGS])
|
||||||
|
|
||||||
TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
|
TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
|
||||||
|
# Assume the presence of any flag is enough. This could be made more robust
|
||||||
|
# with a header and/or compile check if needed.
|
||||||
|
AS_IF([test -n "$AVX2_FLAGS"], [
|
||||||
|
AC_DEFINE(WEBP_HAVE_AVX2, [1],
|
||||||
|
[Set to 1 if AVX2 is supported])])
|
||||||
AC_SUBST([AVX2_FLAGS])
|
AC_SUBST([AVX2_FLAGS])
|
||||||
|
|
||||||
dnl === CLEAR_LIBVARS([var_pfx])
|
dnl === CLEAR_LIBVARS([var_pfx])
|
||||||
|
@ -14,6 +14,10 @@
|
|||||||
#ifndef WEBP_DSP_DSP_H_
|
#ifndef WEBP_DSP_DSP_H_
|
||||||
#define WEBP_DSP_DSP_H_
|
#define WEBP_DSP_DSP_H_
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "../webp/types.h"
|
#include "../webp/types.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@ -40,7 +44,7 @@ extern "C" {
|
|||||||
#define WEBP_USE_SSE2
|
#define WEBP_USE_SSE2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__AVX2__)
|
#if defined(__AVX2__) || defined(WEBP_HAVE_AVX2)
|
||||||
#define WEBP_USE_AVX2
|
#define WEBP_USE_AVX2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -720,17 +720,18 @@ void VP8EncDspInit(void) {
|
|||||||
if (VP8GetCPUInfo(kSSE2)) {
|
if (VP8GetCPUInfo(kSSE2)) {
|
||||||
VP8EncDspInitSSE2();
|
VP8EncDspInitSSE2();
|
||||||
}
|
}
|
||||||
// TODO(jzern): this should be conditionally included based on a configure
|
#endif
|
||||||
// (HAVE_AVX2) define. We can't use WEBP_USE_AVX2/__AVX2__ here as -mavx2
|
#if defined(WEBP_USE_AVX2)
|
||||||
// won't be defined for this file.
|
|
||||||
if (VP8GetCPUInfo(kAVX2)) {
|
if (VP8GetCPUInfo(kAVX2)) {
|
||||||
VP8EncDspInitAVX2();
|
VP8EncDspInitAVX2();
|
||||||
}
|
}
|
||||||
#elif defined(WEBP_USE_NEON)
|
#endif
|
||||||
|
#if defined(WEBP_USE_NEON)
|
||||||
if (VP8GetCPUInfo(kNEON)) {
|
if (VP8GetCPUInfo(kNEON)) {
|
||||||
VP8EncDspInitNEON();
|
VP8EncDspInitNEON();
|
||||||
}
|
}
|
||||||
#elif defined(WEBP_USE_MIPS32)
|
#endif
|
||||||
|
#if defined(WEBP_USE_MIPS32)
|
||||||
if (VP8GetCPUInfo(kMIPS32)) {
|
if (VP8GetCPUInfo(kMIPS32)) {
|
||||||
VP8EncDspInitMIPS32();
|
VP8EncDspInitMIPS32();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user