Libav
Macros | Functions
cpu.h File Reference
#include "config.h"
#include "libavutil/cpu.h"
#include "libavutil/cpu_internal.h"

Go to the source code of this file.

Macros

#define AV_CPU_FLAG_AMD3DNOW   AV_CPU_FLAG_3DNOW
 
#define AV_CPU_FLAG_AMD3DNOWEXT   AV_CPU_FLAG_3DNOWEXT
 
#define X86_AMD3DNOW(flags)   CPUEXT(flags, AMD3DNOW)
 
#define X86_AMD3DNOWEXT(flags)   CPUEXT(flags, AMD3DNOWEXT)
 
#define X86_MMX(flags)   CPUEXT(flags, MMX)
 
#define X86_MMXEXT(flags)   CPUEXT(flags, MMXEXT)
 
#define X86_SSE(flags)   CPUEXT(flags, SSE)
 
#define X86_SSE2(flags)   CPUEXT(flags, SSE2)
 
#define X86_SSE3(flags)   CPUEXT(flags, SSE3)
 
#define X86_SSSE3(flags)   CPUEXT(flags, SSSE3)
 
#define X86_SSE4(flags)   CPUEXT(flags, SSE4)
 
#define X86_SSE42(flags)   CPUEXT(flags, SSE42)
 
#define X86_AVX(flags)   CPUEXT(flags, AVX)
 
#define X86_XOP(flags)   CPUEXT(flags, XOP)
 
#define X86_FMA3(flags)   CPUEXT(flags, FMA3)
 
#define X86_FMA4(flags)   CPUEXT(flags, FMA4)
 
#define X86_AVX2(flags)   CPUEXT(flags, AVX2)
 
#define EXTERNAL_AMD3DNOW(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOW)
 
#define EXTERNAL_AMD3DNOWEXT(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOWEXT)
 
#define EXTERNAL_MMX(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, MMX)
 
#define EXTERNAL_MMXEXT(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, MMXEXT)
 
#define EXTERNAL_SSE(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSE)
 
#define EXTERNAL_SSE2(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSE2)
 
#define EXTERNAL_SSE3(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSE3)
 
#define EXTERNAL_SSSE3(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSSE3)
 
#define EXTERNAL_SSE4(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSE4)
 
#define EXTERNAL_SSE42(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, SSE42)
 
#define EXTERNAL_AVX(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AVX)
 
#define EXTERNAL_XOP(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, XOP)
 
#define EXTERNAL_FMA3(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, FMA3)
 
#define EXTERNAL_FMA4(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, FMA4)
 
#define EXTERNAL_AVX2(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AVX2)
 
#define INLINE_AMD3DNOW(flags)   CPUEXT_SUFFIX(flags, _INLINE, AMD3DNOW)
 
#define INLINE_AMD3DNOWEXT(flags)   CPUEXT_SUFFIX(flags, _INLINE, AMD3DNOWEXT)
 
#define INLINE_MMX(flags)   CPUEXT_SUFFIX(flags, _INLINE, MMX)
 
#define INLINE_MMXEXT(flags)   CPUEXT_SUFFIX(flags, _INLINE, MMXEXT)
 
#define INLINE_SSE(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSE)
 
#define INLINE_SSE2(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSE2)
 
#define INLINE_SSE3(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSE3)
 
#define INLINE_SSSE3(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSSE3)
 
#define INLINE_SSE4(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSE4)
 
#define INLINE_SSE42(flags)   CPUEXT_SUFFIX(flags, _INLINE, SSE42)
 
#define INLINE_AVX(flags)   CPUEXT_SUFFIX(flags, _INLINE, AVX)
 
#define INLINE_XOP(flags)   CPUEXT_SUFFIX(flags, _INLINE, XOP)
 
#define INLINE_FMA3(flags)   CPUEXT_SUFFIX(flags, _INLINE, FMA3)
 
#define INLINE_FMA4(flags)   CPUEXT_SUFFIX(flags, _INLINE, FMA4)
 
#define INLINE_AVX2(flags)   CPUEXT_SUFFIX(flags, _INLINE, AVX2)
 

Functions

void ff_cpu_cpuid (int index, int *eax, int *ebx, int *ecx, int *edx)
 
void ff_cpu_xgetbv (int op, int *eax, int *edx)
 
int ff_cpu_cpuid_test (void)
 

Macro Definition Documentation

§ AV_CPU_FLAG_AMD3DNOW

#define AV_CPU_FLAG_AMD3DNOW   AV_CPU_FLAG_3DNOW

Definition at line 26 of file cpu.h.

§ AV_CPU_FLAG_AMD3DNOWEXT

#define AV_CPU_FLAG_AMD3DNOWEXT   AV_CPU_FLAG_3DNOWEXT

Definition at line 27 of file cpu.h.

§ X86_AMD3DNOW

#define X86_AMD3DNOW (   flags)    CPUEXT(flags, AMD3DNOW)

Definition at line 29 of file cpu.h.

§ X86_AMD3DNOWEXT

#define X86_AMD3DNOWEXT (   flags)    CPUEXT(flags, AMD3DNOWEXT)

Definition at line 30 of file cpu.h.

§ X86_MMX

#define X86_MMX (   flags)    CPUEXT(flags, MMX)

Definition at line 31 of file cpu.h.

Referenced by sws_init_context().

§ X86_MMXEXT

#define X86_MMXEXT (   flags)    CPUEXT(flags, MMXEXT)

Definition at line 32 of file cpu.h.

Referenced by ff_qpeldsp_init_x86().

§ X86_SSE

#define X86_SSE (   flags)    CPUEXT(flags, SSE)

Definition at line 33 of file cpu.h.

§ X86_SSE2

#define X86_SSE2 (   flags)    CPUEXT(flags, SSE2)

Definition at line 34 of file cpu.h.

§ X86_SSE3

#define X86_SSE3 (   flags)    CPUEXT(flags, SSE3)

Definition at line 35 of file cpu.h.

§ X86_SSSE3

#define X86_SSSE3 (   flags)    CPUEXT(flags, SSSE3)

Definition at line 36 of file cpu.h.

§ X86_SSE4

#define X86_SSE4 (   flags)    CPUEXT(flags, SSE4)

Definition at line 37 of file cpu.h.

§ X86_SSE42

#define X86_SSE42 (   flags)    CPUEXT(flags, SSE42)

Definition at line 38 of file cpu.h.

§ X86_AVX

#define X86_AVX (   flags)    CPUEXT(flags, AVX)

Definition at line 39 of file cpu.h.

§ X86_XOP

#define X86_XOP (   flags)    CPUEXT(flags, XOP)

Definition at line 40 of file cpu.h.

§ X86_FMA3

#define X86_FMA3 (   flags)    CPUEXT(flags, FMA3)

Definition at line 41 of file cpu.h.

§ X86_FMA4

#define X86_FMA4 (   flags)    CPUEXT(flags, FMA4)

Definition at line 42 of file cpu.h.

§ X86_AVX2

#define X86_AVX2 (   flags)    CPUEXT(flags, AVX2)

Definition at line 43 of file cpu.h.

§ EXTERNAL_AMD3DNOW

#define EXTERNAL_AMD3DNOW (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOW)

§ EXTERNAL_AMD3DNOWEXT

#define EXTERNAL_AMD3DNOWEXT (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, AMD3DNOWEXT)

Definition at line 46 of file cpu.h.

Referenced by ff_fft_init_x86(), and ff_fmt_convert_init_x86().

§ EXTERNAL_MMX

#define EXTERNAL_MMX (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, MMX)

§ EXTERNAL_MMXEXT

#define EXTERNAL_MMXEXT (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, MMXEXT)

§ EXTERNAL_SSE

#define EXTERNAL_SSE (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSE)

§ EXTERNAL_SSE2

#define EXTERNAL_SSE2 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSE2)

§ EXTERNAL_SSE3

#define EXTERNAL_SSE3 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSE3)

Definition at line 51 of file cpu.h.

Referenced by ff_mpadsp_init_x86().

§ EXTERNAL_SSSE3

#define EXTERNAL_SSSE3 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSSE3)

§ EXTERNAL_SSE4

#define EXTERNAL_SSE4 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSE4)

§ EXTERNAL_SSE42

#define EXTERNAL_SSE42 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, SSE42)

Definition at line 54 of file cpu.h.

§ EXTERNAL_AVX

#define EXTERNAL_AVX (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, AVX)

§ EXTERNAL_XOP

#define EXTERNAL_XOP (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, XOP)

Definition at line 56 of file cpu.h.

§ EXTERNAL_FMA3

#define EXTERNAL_FMA3 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, FMA3)

Definition at line 57 of file cpu.h.

Referenced by ff_synth_filter_init_x86().

§ EXTERNAL_FMA4

#define EXTERNAL_FMA4 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, FMA4)

Definition at line 58 of file cpu.h.

§ EXTERNAL_AVX2

#define EXTERNAL_AVX2 (   flags)    CPUEXT_SUFFIX(flags, _EXTERNAL, AVX2)

Definition at line 59 of file cpu.h.

§ INLINE_AMD3DNOW

#define INLINE_AMD3DNOW (   flags)    CPUEXT_SUFFIX(flags, _INLINE, AMD3DNOW)

§ INLINE_AMD3DNOWEXT

#define INLINE_AMD3DNOWEXT (   flags)    CPUEXT_SUFFIX(flags, _INLINE, AMD3DNOWEXT)

Definition at line 62 of file cpu.h.

Referenced by ff_float_dsp_init_x86().

§ INLINE_MMX

#define INLINE_MMX (   flags)    CPUEXT_SUFFIX(flags, _INLINE, MMX)

§ INLINE_MMXEXT

#define INLINE_MMXEXT (   flags)    CPUEXT_SUFFIX(flags, _INLINE, MMXEXT)

§ INLINE_SSE

#define INLINE_SSE (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSE)

§ INLINE_SSE2

#define INLINE_SSE2 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSE2)

§ INLINE_SSE3

#define INLINE_SSE3 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSE3)

Definition at line 67 of file cpu.h.

§ INLINE_SSSE3

#define INLINE_SSSE3 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSSE3)

Definition at line 68 of file cpu.h.

Referenced by ff_mpegvideoencdsp_init_x86(), ff_mpv_encode_init_x86(), and hadamard_func().

§ INLINE_SSE4

#define INLINE_SSE4 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSE4)

Definition at line 69 of file cpu.h.

§ INLINE_SSE42

#define INLINE_SSE42 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, SSE42)

Definition at line 70 of file cpu.h.

§ INLINE_AVX

#define INLINE_AVX (   flags)    CPUEXT_SUFFIX(flags, _INLINE, AVX)

Definition at line 71 of file cpu.h.

Referenced by rgb2rgb_init_x86().

§ INLINE_XOP

#define INLINE_XOP (   flags)    CPUEXT_SUFFIX(flags, _INLINE, XOP)

Definition at line 72 of file cpu.h.

§ INLINE_FMA3

#define INLINE_FMA3 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, FMA3)

Definition at line 73 of file cpu.h.

§ INLINE_FMA4

#define INLINE_FMA4 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, FMA4)

Definition at line 74 of file cpu.h.

§ INLINE_AVX2

#define INLINE_AVX2 (   flags)    CPUEXT_SUFFIX(flags, _INLINE, AVX2)

Definition at line 75 of file cpu.h.

Function Documentation

§ ff_cpu_cpuid()

void ff_cpu_cpuid ( int  index,
int *  eax,
int *  ebx,
int *  ecx,
int *  edx 
)

§ ff_cpu_xgetbv()

void ff_cpu_xgetbv ( int  op,
int *  eax,
int *  edx 
)

§ ff_cpu_cpuid_test()

int ff_cpu_cpuid_test ( void  )