-
Notifications
You must be signed in to change notification settings - Fork 18
ref_vfcallback_getCPUFlags
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.
Setting up your development environment
Conventions
Plugin initialization
Dynamic loading
Reference counting
Using CPU extensions
Introduction
What's new
Breaking changes
Gotchas
Deprecated features
Migrating from the old Filter SDK
Programming model
Handling bitmaps
Creating a video filter
Setting filter parameters
Processing video frames
Managing filter data
Creating time-varying filters
Handling aspect ratio
Prefetching multiple source frames
Handling multiple sources
Making a filter configurable
Scripting support
CPU dependent optimization
VDXA index omitted
Getting started
Writing the module entry point
Creating a video filter
Adding configurability
Adding script support
Introduction
What's new
Autodetect
Direct mode
Video frames vs. samples
Video decodint model
Video decoder