Video Processing Engine

nVidia introduced the Video Processing Engine or VPE with the GeForce 4 MX. It is a feature of nVidia's GeForce graphics processor line that offers dedicated hardware to offload parts of the MPEG2 decoding and encoding. The GeForce Go FX 5700 rolled out the VPE 3.0. The VPE later developed into nVidia's PureVideo.

VPE 1

 * hardware MPEG2 decoding,
 * inverse quantization (IQ)
 * inverse discrete cosine transform (IDCT)
 * motion compensation
 * colour space conversion (CSC) functions
 * hardware subpicture alpha blending
 * Adaptive De-interlacing
 * 5 Horizontal x 3 Vertical Taps Scaling & Filtering
 * Independent Hardware Color Enhancements and Digital Vibrance Control
 * Component out supporting 720i and 1080i
 * master sync generator to control the sync levels
 * interlacer to output 480i and 1080i interlaced modes and a TV encoder, which operates in digital-to-analogue converter (DAC) mode with Tri Level Sync. VPE supports the first two of these element and all that is required to ship a graphics board capable of YPrPb output is a TV encoder that supports tri-level sync, and to replace the 4-Pin S-Video connector with a 9 pin.
 * geforce 4 420/440 go

VPE 2

 * GeForce FX Go 5650, 5600, 5200, and 5100 models
 * Video Mixing Renderer (vmr)
 * MPEG-2 decode engine
 * adaptive deinterlacing
 * dedicated independent gamma correction
 * MPEG-2 encode assist
 * Digital Vibrance Control

==VPE 3.0 ==
 * Component High Definition component out
 * MPEG-2 video decode engine suitable for DVD playback, HDTV decode, and decoding streaming video up to 1920x1080
 * Adaptive de-interlacing
 * Independent and dedicated gamma correcting
 * enhanced scaling, filtering, sharpening
 * MPEG-2 encode
 * Video Mixing Renderer (VMR) allows integration of video with other 2d and 3d windows
 * Digital Vibrance Control 3
 * Inverse Quantization
 * Inverse Discrete Cosine Transformation
 * Motion Compensation
 * Colorspace Conversion
 * subpicture alpha blending
 * Scaling engine
 * dithering circuit

Operating system support
The VPE SIP core needs to be supported by the device driver. The device driver provides one or multiple interfaces, like e.g. VDPAU, VAAPI or DXVA. One of this interfaces is then used by end-user software, like e.g. VLC media player or GStreamer, to access the VPE hardware and make use of it.

Nvidia's proprietary device driver is available for multiple operating systems and support for VPE has been added to it. Additionally, a free device driver named nouveau is available. This driver also supports the VPE hardware.