DirectX Video Acceleration
   HOME

TheInfoList



OR:

DirectX Video Acceleration (DXVA) is a
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
specification for the Microsoft Windows and
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generati ...
platforms that allows
video Video is an electronic medium for the recording, copying, playback, broadcasting, and display of moving visual media. Video was first developed for mechanical television systems, which were quickly replaced by cathode-ray tube (CRT) syst ...
decoding to be
hardware-accelerated Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcul ...
. The
pipeline Pipeline may refer to: Electronics, computers and computing * Pipeline (computing), a chain of data-processing stages or a CPU optimization found on ** Instruction pipelining, a technique for implementing instruction-level parallelism within a s ...
allows certain CPU-intensive operations such as iDCT,
motion compensation Motion compensation in computing, is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video d ...
and
deinterlacing Deinterlacing is the process of converting interlaced video into a non-interlaced or Progressive scan, progressive form. Interlaced video signals are commonly found in analog television, digital television (HDTV) when in the 1080i format, some D ...
to be offloaded to the
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
. DXVA 2.0 allows more operations, including video capturing and
processing Processing is a free graphical library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming ...
operations, to be hardware-accelerated as well. DXVA works in conjunction with the video rendering model used by the
video card A graphics card (also called a video card, display card, graphics adapter, VGA card/VGA, video adapter, display adapter, or mistakenly GPU) is an expansion card which generates a feed of output images to a display device, such as a computer mo ...
. DXVA 1.0, which was introduced as a standardized API with
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was officiall ...
and is currently available on
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
or later, can use either the overlay rendering mode or VMR 7/9. DXVA 2.0, available only on
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
,
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
,
Windows 8 Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012; it was subsequently made available for download via MSDN and TechNet on August 15, 2012, and later to ...
and later OSs, integrates with
Media Foundation Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
(MF) and uses the
Enhanced Video Renderer Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
(EVR) present in MF.


Overview

The DXVA is used by software video decoders to define a codec-specific pipeline for hardware-accelerated decoding and rendering of the codec. The pipeline starts at the CPU which is used for parsing the media stream and conversion to DXVA-compatible structures. DXVA specifies a set of operations that can be hardware-accelerated and device driver interfaces (DDIs) that the
graphic driver A graphics card (also called a video card, display card, graphics adapter, VGA card/VGA, video adapter, display adapter, or mistakenly GPU) is an expansion card which generates a feed of output images to a display device, such as a computer moni ...
can implement to accelerate the operations. If the codec needs to do any of the defined operations, it can use these interfaces to access the hardware-accelerated implementation of these operations. If the graphic driver does not implement one or more of the interfaces, it is up to the codec to provide a software fallback for it. The decoded video is handed over to the hardware video renderer, where further
video post-processing The term post-processing (or postproc for short) is used in the video/film business for quality-improvement image processing (specifically digital image processing) methods used in video playback devices, such as stand-alone DVD-Video players; vid ...
might be applied to it before being rendered to the device. The resulting pipeline is usable in a
DirectShow DirectShow (sometimes abbreviated as DS or DShow), codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's ea ...
-compatible application. DXVA specifies the
Motion Compensation Motion compensation in computing, is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video d ...
DDI, which specifies the interfaces for iDCT operations,
Huffman coding In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code proceeds by means of Huffman coding, an algo ...
,
motion compensation Motion compensation in computing, is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video d ...
,
alpha blending In computer graphics, alpha compositing or alpha blending is the process of combining one image with a background to create the appearance of partial or full transparency. It is often useful to render picture elements (pixels) in separate pas ...
, inverse quantization, color space conversion and frame-rate conversion operations, among others. It also includes three sub-specifications: Deinterlacing DDI, COPP DDI and ProcAmp DDI. The
Deinterlacing Deinterlacing is the process of converting interlaced video into a non-interlaced or Progressive scan, progressive form. Interlaced video signals are commonly found in analog television, digital television (HDTV) when in the 1080i format, some D ...
DDI specifies the callbacks for
deinterlacing Deinterlacing is the process of converting interlaced video into a non-interlaced or Progressive scan, progressive form. Interlaced video signals are commonly found in analog television, digital television (HDTV) when in the 1080i format, some D ...
operations. The COPP (Certified Output Protection Protocol) DDI functions allow the pipeline to be secured for DRM-protected media, by specifying
encryption In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can de ...
functions. The ProcAmp DDI is used to accelerate post-processing video. The ProcAmp driver module sits between the hardware video renderer and the display driver, and it provides functions for applying post-processing filters on the decompressed video. The functions exposed by DXVA DDIs are not accessible directly by a
DirectShow DirectShow (sometimes abbreviated as DS or DShow), codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's ea ...
client, but are supplied as
callback Callback may refer to: * Callback (comedy), a joke which refers to one previously told * Callback (computer programming), executable code that is passed as a parameter to other code * Callback (telecommunications), the telecommunications event th ...
functions to the video renderer. As such, the renderer plays a very important role in anchoring the pipeline.


DXVA on Windows Vista and later

DXVA 2.0 enhances the implementation of the video pipeline and adds a host of other DDIs, including a Capture DDI for video capture. The DDIs it shares with DXVA 1.0 are also enhanced with the ability to use hardware acceleration of more operations. Also, the DDI functions are directly available to callers and need not be mediated by the video renderer. As such, a program can also create a pipeline for simply decoding the media (without rendering) or post-processing and rendering (without decoding). These features require the
Windows Display Driver Model Windows Display Driver Model (WDDM) is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista. It is a replacement for the previous Windows 2000 and Windows XP display driver model ...
drivers, which limits DXVA 2.0 to
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
,
Windows Server 2008 Windows Server 2008 is the fourth release of the Windows Server operating system produced by Microsoft as part of the Windows NT family of the operating systems. It was released to manufacturing on February 4, 2008, and generally to retail on F ...
,
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
,
Windows Server 2008 R2 Windows Server 2008 R2 is the fifth version of the Windows Server operating system produced by Microsoft and released as part of the Windows NT family of operating systems. It was released to manufacturing on July 22, 2009, and became generall ...
and
Windows 8 Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012; it was subsequently made available for download via MSDN and TechNet on August 15, 2012, and later to ...
. On
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
and
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was officiall ...
, programs can use DXVA 1.0. DXVA 2.0 allows
Enhanced Video Renderer Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
as the video renderer only on Vista, Windows 7, and Windows 8. (With Windows XP, DXVA-Rendering is possible with VMR9 and the well-known Overlay Mixer.) DXVA integrates with
Media Foundation Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
and allows DXVA pipelines to be exposed as ''Media Foundation Transforms'' (''MFTs''). Even decoder pipelines or post-processing pipelines can be exposed as MFTs, which can be used by the
Media Foundation Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
topology loader to create a full media playback pipeline. DXVA 1.0 is emulated using DXVA 2.0. DXVA 2.0 does not include the COPP DDI, rather it uses PVP for protected content.
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
implements DXVA-HD if the driver complies with WDDM 1.1.


DXVA2 implementations: native and copy-back

DXVA2 implementations come in two variants: native and copy-back. With native implementation, the decoded video stays in GPU memory until it has been displayed. The video decoder must be connected to the video renderer with no intermediary processing filter. The video renderer must also support DXVA, which gives less freedom in the choice of renderers. With copy-back implementation, the decoded video is copied from GPU memory back to the CPU's memory. This implementation doesn't have the limitations mentioned above and acts similarly to a normal software decoder; however, video stuttering will occur if the GPU is not fast enough to copy its memory back to the CPU's memory. Native mode is advantageous unless there is a need for customized processing, as the additional copy-back operations will increase GPU memory load.


Software

*
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
v10.3 and later *
Boxee Boxee was a cross-platform freeware HTPC (Home Theater PC) software application with a 10-foot user interface and social networking features designed for the living-room TV. It enabled its users to view, rate and recommend content to their frie ...
*
CoreAVC CoreAVC was a proprietary codec for decoding the H.264/MPEG-4 AVC (Advanced Video Coding) video format. In 2010, when CoreAVC was a software-only decoder, it was one of the fastest software decoders, but still slower than hardware-based ones. C ...
v2.5.0 and later * Daum PotPlayer * DivX H.264 Decoder v1.2 and later *DVDFab Media Player 3 * ffdshow-tryouts revision 3185 and later *
Freemake Video Converter Freemake Video Converter is a freemium entry-level video editing app (in spite of its name) developed by Ellora Assets Corporation. The program can be used to convert between video formats, rip video DVDs, create photo slideshows and music ...
v2.2 and later *
Kodi KODI (1400 AM) is a radio station broadcasting a news/talk format. Licensed to Cody, Wyoming, United States, the station is currently owned by the Big Horn Radio Network, a division of Legend Communications of Wyoming, LLC, and features programm ...
*
Media Player Classic Home Cinema Media Player Classic (MPC), Media Player Classic - Home Cinema (MPC-HC), and Media Player Classic - Black Edition (MPC-BE) are a family of free and open-source, compact, lightweight, and customizable media players for 32-bit and 64-bit Microsoft ...
*
MediaPortal MediaPortal is an open-source media player and digital video recorder software project, often considered an alternative to Windows Media Center. It provides a 10-foot user interface for performing typical PVR/TiVo functionality, including playi ...
* mpv (DXVA 2.0 only) *
Nero Multimedia Suite Nero Multimedia Suite is a software suite for Microsoft Windows that is developed and marketed by Nero AG. Version 2017 of this product was released in October 2016. Version differences Since its Version 10, Nero provides two variants of the s ...
(Nero Kwik Media, Nero MediaHub, Nero Showtime) * Plex *
PowerDVD CyberLink PowerDVD is a universal media player for movie discs, video files, photos and music. During 2016, PowerDVD achieved certification from the Blu-ray Disc Association (BDA) for the playback of Ultra HD Blu-ray Discs, and became the world's ...
*
VLC media player VLC media player (previously the VideoLAN Client and commonly known as simply VLC) is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desk ...
v1.1 and later (DXVA 2.0 only) *
WinDVD WinDVD (owned by Corel Corporation which bought InterVideo in 2006) is a commercial video player and music player software for Microsoft Windows. It enables the viewing of DVD-Video movies on the user's PC. DVD-Video backups stored on hard dis ...
*
Windows Media Player 11 Windows Media Player (WMP) is the first media player and media library application that was developed by Microsoft for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on ...
(
WMV3 Windows Media Video (WMV) is a series of video codecs and their corresponding video coding formats developed by Microsoft. It is part of the Windows Media framework. WMV consists of three distinct codecs: The original video compression technology ...
only) * Windows Media Player 12 * HandBrake


See also

* AMD Unified Video Decoder *
Distributed Codec Engine Distributed Codec Engine (DCE) is an API and its implementation as software library ("''libdce''") by Texas Instruments. The library was released under the Revised BSD License and some additional terms. It enables and provides remote access to h ...
*
Intel Clear Video Intel Clear Video is a semiconductor intellectual property core which implements some steps of some video decompression algorithms. The scope is to calculate these on the SIP core rather than on the CPU. Intel Clear Video is paired with integrated ...
*
Media Foundation Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
*
Nvidia PureVideo PureVideo is Nvidia's hardware SIP core that performs video decoding. PureVideo is integrated into some of the Nvidia GPUs, and it supports hardware decoding of multiple video codec standards: MPEG-2, VC-1, H.264, HEVC, and AV1. PureVideo occ ...
*
OpenMAX OpenMAX (Open Media Acceleration), often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces. It provides abstractions for routines that are especially useful for processing of audio, ...
*
VDPAU Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library () distributed under the MIT License. VDPAU is also supported by Nvidia. Th ...
* Video Acceleration API * X-Video Bitstream Acceleration *
X-Video Motion Compensation X-Video Motion Compensation (XvMC), is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. In theory this process shou ...


References


External links


DirectX Video Acceleration
utility listing DXVA modes of which the given computer is capable {{DEFAULTSORT:Directx Video Acceleration Microsoft application programming interfaces Video Acceleration DirectX Video Acceleration Video acceleration Device drivers Hardware acceleration