Интернет магазин китайских планшетных компьютеров



Компьютеры - DirectX Video Acceleration - Обзор

01 мая 2011


Оглавление:
1. DirectX Video Acceleration
2. Обзор
3. Программная поддержка



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

Для компенсации движения DXVA определяет интерфейс драйвера, который, в свою очередь, определяет интерфейсы для дискретного косинусного преобразования, кодирования Хаффмана, альфа-смешивания, инверсной квантизации, конвертирования цветового пространства, изменения частоты кадров и других операций. Он также включает три под-спецификации: «Deinterlacing DDI», «COPP DDI» и «ProcAmp DDI». Deinterlacing DDI определяет функции обратного вызова для операций деинтерлейсинга. Функции COPP 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. В DXVA 2.0 функции DDI стали доступны непосредственно для программы-клиента и не нуждаются в промежуточном видео-рендерере. Таким образом, появилась возможность создать конвейеры для простого декодирования видео или пост-процессинга и рендеринга. Все эти возможности требуют наличия Windows Display Driver Model, который связан с DirectX 10, а это ограничивает список операционных систем с DXVA 2.0 до Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2. DXVA 2.0 поддерживает только Enhanced Video Renderer в качестве видео-рендерера на Vista и Windows 7. DXVA интегрирован с Media Foundation и позволяет конвейерам DXVA распознаваться как Media Foundation Transforms. Даже конвейер декодирования и конвейер пост-процессинга могут быть распознаны как MFTs, в результате чего при помощи загрузчика топологии Media Foundation можно создать полноценный конвейер для проигрывания видео.

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



Просмотров: 2915


<<< Audio Stream Input/Output
I/O request packet >>>