ref_iface_IVDXPluginCallbacks_GetCPUFeatureFlags - shekh/VirtualDub2 GitHub Wiki

VirtualDub Plugin SDK 1.2

IVDXPluginCallbacks interface

IVDXPluginCallbacks:: GetCPUFeatureFlags

Retrieves the set of currently enabled CPU instruction set extensions.

uint32 GetCPUFeatureFlags();

Thread safety

This method is not thread-safe.

Errors

Errors may not be returned from this function (see SetError()).

Return value

A bitfield indicating which extensions are active:

kVDXCPUF_MMX MMX is enabled.
kVDXCPUF_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.
kVDXCPUF_SSE Streaming SIMD Extensions (SSE) is available, including floating-point vector instructions.
kVDXCPUF_SSE2 Streaming SIMD Extensions 2 (SSE2) is available, including 128-bit integer vector instructions.
kVDXCPUF_3DNOW 3DNow! is available, including 64-bit floating-point instructions.
kVDXCPUF_3DNOW_EXT 3DNow! Professional is available.
kVDXCPUF_SSE3 Streaming SIMD Extensions 3 (SSE3) is available, including horizontal add/subtract instructions.
kVDXCPUF_SSSE3 Supplemental Streaming SIMD Extensions 3 (SSSE3) is available, including absolute value and double-width shift instructions.
kVDXCPUF_SSE4.1 Streaming SIMD Extensions 4.1 (SSE4.1) is available.
kVDXCPUF_AVX Advanced Vector Extensions (AVX) is available and supported by the OS, allowing for 256-bit floating point vector operations.

Remarks

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.

VirtualDub only detects SSE3 and SSSE3 starting with V1.7.1, SSE4.1 starting with V1.8.1, and AVX starting with V1.10.1.


Copyright (C) 2007-2012 Avery Lee.

⚠️ **GitHub.com Fallback** ⚠️