ref_vfcallback_getCPUFlags - shekh/VirtualDub2 GitHub Wiki
VirtualDub Plugin SDK 1.2
getCPUFlags video filter callback
Queries the host for enabled CPU-specific optimizations.
long __cdecl getCPUFlags();
This method is not thread-safe.
This function must not throw exceptions (see Except()).
A bitfield indicating which CPU extensions are active:
CPUF_SUPPORTS_CPUID | The CPU supports the CPUID instruction. |
CPUF_SUPPORTS_FPU | Optimizations using the x87 floating-point unit (FPU) are enabled. |
CPUF_SUPPORTS_MMX | MMX is enabled. |
CPUF_SUPPORTS_ISSE | The integer portion of Streaming SIMD Extensions (SSE) is enabled. This is the portion of SSE also supported by the original Athlon, including shufw, pinsrw, pextrw, pavgb, pavgw, pmulhuw, movntq, maskmovq, prefetcht0, prefetcht1, prefetcht2, prefetchnta, and sfence. |
CPUF_SUPPORTS_SSE | Streaming SIMD Extensions (SSE) is available, including floating-point vector instructions. |
CPUF_SUPPORTS_SSE2 | Streaming SIMD Extensions 2 (SSE2) is available, including 128-bit integer vector instructions. |
CPUF_SUPPORTS_3DNOW | 3DNow! is available, including 64-bit floating-point instructions. |
CPUF_SUPPORTS_3DNOW_EXT | 3DNow! Professional is available. |
This function returns the set of currently enabled CPU extensions, which is not always the same as the available extensions. Usually these will be the same, but it is possible for the user to override the enabled CPU extensions.
The enabled set can change between calls. If this is a problem, the value should be cached appropriately.
Copyright (C) 2007-2012 Avery Lee.