DirectX Video Acceleration

DirectX Video Acceleration (сокращённо DXVA, дословно рус. ускорение видео DirectX) — интерфейс программирования приложений (API), компонент DirectX, разработанный корпорацией Microsoft и предназначенный для обработки (в первую очередь, декодирования) битового потока видеоданных силами графических процессоров (англGPU

).

DXVA предназначен для функционирования на IBM PC-совместимых компьютерах под управлением операционных систем семейства Microsoft Windows и на игровой консоли Xbox 360. Программный конвейер DXVA позволяет определённым некоторым ресурсоёмким операциям, таким как дискретное косинусное преобразование, компенсация движения и деинтерлейсинг, выполняться на графическом, а не на центральном процессоре. DXVA 2.0 позволяет перенаправлять на GPU большее количество операций, включая захват видео и операции обработки видео

.

DXVA работает в соединении с DirectShow, который поддерживается видеокартами. DXVA 1.0, который был представлен в качестве стандартизированного API с Windows 2000 и был доступен начиная с Windows 98, мог использовать или режим оверлея, или VMR 7/9.[1] DXVA 2.0, доступный только начиная с Windows Vista, интегрирован с мультимедийным фреймворком Media Foundation и использует видео-рендерер Enhanced Video Renderer.[1]

Содержание

Обзор

DXVA используется программными видеокодеками для определения специфического для каждого кодека конвейера, что необходимо для аппаратного декодирования и рендеринга видеопотока этим кодеком. Конвейер начинается с центрального процессора, который выполняет парсинг медиа-потока и его конвертацию в DXVA-совместимые структуры. DXVA определяет набор операций, которые могут быть аппаратно ускоренными, и интерфейс драйвера устройства (англdevice driver interface — DDI), благодаря которому определяется, может ли драйвер видеокарты осуществить аппаратную обработку этих операций. Если какой-либо кодек использует данные операции, то он может использовать эти интерфейсы видео-драйвера для получения доступа к аппаратному ускорению. Если же графический драйвер не поддерживает один или несколько таких интерфейсов, то обработка этих операций перенаправляется на центральный процессор. Уже декодированное видео может передаваться на графический процессор для проведения пост-обработки видео. Результирующий конвейер доступен в приложениях, совместимых с DirectShow

.

Для компенсации движения DXVA определяет интерфейс драйвера (DDI), который, в свою очередь, определяет интерфейсы для дискретного косинусного преобразования (iDCT), кодирования Хаффмана, альфа-смешивания, инверсной квантизации, конвертирования цветового пространства, изменения частоты кадров и других операций.[2][3] Он также включает три под-спецификации: «Deinterlacing DDI», «COPP DDI» и «ProcAmp DDI».[4] Deinterlacing DDI определяет функции обратного вызова для операций деинтерлейсинга. Функции COPP (Certified Output Protection Protocol) DDI позволяют конвейеру обеспечивать защиту медиа-данных путём указания функций шифрования. ProcAmp DDI используется для ускорения пост-обработки видео. Модуль драйвера ProcAmp расположен между аппаратным рендерингом видео и драйвером дисплея и предоставляет функции, которые позволяют применять фильтры пост-обработки на уже декодированное видео

.

Функции DXVA DDI не доступны непосредственно программе-клиенту DirectShow, а поставляются в качестве функций обратного вызова к рендереру видео. Таким образом, рендерер играет очень важную роль в составе конвейера

.

DXVA 1.0 используется на Windows XP и Windows 2000

.

DXVA на Windows Vista и более новых ОС

DXVA 2.0 улучшил реализацию видео-конвейера и добавил некоторые другие DDI, такие как «Capture DDI», предназначенный для захвата видео. Две из трёх первоначальных DDI, которые поставлялись с DXVA 1.0, во второй версии были улучшены — для аппаратной обработки стало доступно большее количество операций. DXVA 2.0 не включает COPP DDI, а вместо него использует Protected Media Path для защищённого контента. DXVA 1.0 эмулируется с использованием DXVA 2.0.[1] В DXVA 2.0 функции DDI стали доступны непосредственно для программы-клиента и не нуждаются в промежуточном видео-рендерере.[5] Таким образом, появилась возможность создать конвейеры для простого декодирования видео (без рендеринга) или пост-процессинга и рендеринга (без декодирования). Все эти возможности требуют наличия Windows Display Driver Model, который связан с DirectX 10, а это ограничивает список операционных систем с DXVA 2.0 до Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2.[5][1] DXVA 2.0 поддерживает только Enhanced Video Renderer в качестве видео-рендерера на Vista и Windows 7 (на Windows XP DXVA-рендеринг возможен с VMR9 и Overlay Mixer[1]). DXVA интегрирован с Media Foundation и позволяет конвейерам DXVA распознаваться как Media Foundation Transforms (MFTs). Даже конвейер декодирования и конвейер пост-процессинга могут быть распознаны как MFTs, в результате чего при помощи загрузчика топологии Media Foundation можно создать полноценный конвейер для проигрывания видео

.

Существует DXVA-HD, который является развитием DXVA 2.0 и доступен на Windows 7, если поддерживается WDDM 1.1.[6]

Программная поддержка

См. также

Примечания

  1. 1 2 3 4 5 DirectX Video Acceleration 2.0. Архивировано из первоисточника 23 апреля 2012. Проверено 24 октября 2007.
  2. Introduction to DirectX VA. Архивировано из первоисточника 23 апреля 2012. Проверено 24 октября 2007.
  3. Microsoft DirectX Video Acceleration (DirectX VA) support. Архивировано из первоисточника 23 апреля 2012. Проверено 24 октября 2007.
  4. DirectX Video Acceleration. Архивировано из первоисточника 23 апреля 2012. Проверено 24 октября 2007.
  5. 1 2 What's New in DirectShow. Архивировано из первоисточника 23 апреля 2012. Проверено 24 октября 2007.
  6. DXVA-HD  (англ.). MSDN (8 апреля 2010 года). Архивировано из первоисточника 23 апреля 2012. Проверено 24 апреля 2010.
  7. Adobe Flash HD-Video GPU Acceleration Guide | GPU Acceleration, Adobe Flash, HD-Video, ATI AVIVO-HD, NVIDIA PureVideo-HD, Adobe Flash HD-Video GPU Acceleration Guide How-To Guide
  8. VLC GPU Decoding — VideoLAN Wiki

Ссылки


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • DirectX Video Acceleration — (DXVA) is a Microsoft API specification for the Microsoft Windows and Xbox 360 platforms that allows video decoding to be hardware accelerated. The pipeline allows certain CPU intensive operations such as iDCT, motion compensation and… …   Wikipedia

  • DirectX Video Acceleration — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Video Acceleration API — (VA API) is a software API specification which provides access to graphics hardware (GPU) acceleration for video processing. Accelerated processing includes video decoding, subpicture blending and rendering.VA API is meant to some day replace… …   Wikipedia

  • Video Acceleration API — (VA API) o API de aceleración de video es una especificación que proporciona el acceso a hardware de gráficos (GPU) y la aceleración de vídeo para su procesamiento. La aceleración de video incluye códecs de video, mezclas de subimagen y… …   Wikipedia Español

  • DirectX — A component of Microsoft Windows Details Included with Windows 95 OSR2 Windows NT 4.0 and all subsequent releases Microsoft Direct …   Wikipedia

  • DirectX — Développeur Microsoft Dernière version 11 [ …   Wikipédia en Français

  • DirectX 10 — DirectX DirectX Développeur Microsoft Dernière version 11 (le …   Wikipédia en Français

  • Directx — Développeur Microsoft Dernière version 11 (le …   Wikipédia en Français

  • DirectX Media — Logo of the DirectX Media SDK DirectX Media is a set of multimedia related APIs for Microsoft Windows complementing DirectX. It included DirectAnimation for 2D/3D[1] web animation, DirectShow for multimedia playback and …   Wikipedia

  • Video Decode and Presentation API for Unix — libvdpau(VDPAU] Maintainer Nvidia Entwickler Nvidia Aktuelle Version 0.4 (28. Januar 2010) Betriebssystem unixoide Kategorie …   Deutsch Wikipedia

  • Video for Windows — Microsoft Video for Windows (VFW) программный интерфейс (API), позволяющий обрабатывать видеоданные. API появилось в 16 и битной Windows, в дальнейшем многие его функции были заменены возможностями DirectX. Содержание 1 Функции VFW 1.1 Работа с… …   Википедия

  • 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 should also reduce bus bandwidth …   Wikipedia

  • Unified Video Decoder — (рус. Унифицированный видео декодер; ранее называемый Universal Video Decoder  рус. Универсальный видео декодер; сокращённо  UVD)  аппаратный компонент (блок) графических процессоров производства американской компании AMD,… …   Википедия

  • X-Video Bitstream Acceleration — (XvBA) ist eine proprietäre Programmierschnittstelle für Radeon Grafikkarten des Herstellers AMD, über die das Dekodieren von Videoströmen und Nachbearbeiten des dekodierten Materials auf Linux basierten Betriebssystemen von der CPU größtenteils… …   Deutsch Wikipedia

  • List of games with DirectX 10 support — This is a list of released and unreleased games that support DirectX 10 for Windows Vista and Windows 7. Information regarding developer, publisher, date of release, and genre is provided where available. Contents 1 Released games 2 Unreleased… …   Wikipedia

Книги

Другие книги по запросу «DirectX Video Acceleration» >>