Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

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]


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.


1.1. 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]


2. Програмна підтримка


Примітки

  1. 1 2 3 4 5 DirectX Video Acceleration 2.0 - msdn2.microsoft.com/en-us/library/aa965263.aspx. Читальний - www.webcitation.org/678aLE0lb з першоджерела 23 квітня 2012.
  2. Introduction to DirectX VA - msdn2.microsoft.com/en-us/library/ms799545.aspx. Читальний - www.webcitation.org/678aLnI2l з першоджерела 23 квітня 2012.
  3. Microsoft DirectX Video Acceleration (DirectX VA) support - forum.videolan.org / viewtopic.php? t = 9421. Читальний - www.webcitation.org/678aMSjF5 з першоджерела 23 квітня 2012.
  4. DirectX Video Acceleration - msdn2.microsoft.com/en-us/library/ms798379.aspx. Читальний - www.webcitation.org/678exRdk0 з першоджерела 23 квітня 2012.
  5. 1 2 What's New in DirectShow - msdn2.microsoft.com/en-us/library/ms788119.aspx. Читальний - www.webcitation.org/678ey1Djd з першоджерела 23 квітня 2012.
  6. DXVA-HD - msdn.microsoft.com/en-us/library/ee663586 (VS.85). aspx (Англ.) . MSDN (8 квітня 2010 року). Читальний - www.webcitation.org/678eyWdpA з першоджерела 23 квітня 2012.
  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 - benchmarkreviews.com / index.php? option = com_content & task = view & id = 419 & Itemid = 38
  8. VLC GPU Decoding - VideoLAN Wiki - wiki.videolan.org/VLC_DxVA2

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
DirectX
Список ігор, що підтримують DirectX 10
Video CD
Flash Video
Video on Demand
HTML5 video
Audio Video Interleave
Windows Media Video
Video Killed the Radio Star
© Усі права захищені
написати до нас