DirectX videoacceleration

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 3. maj 2020; checks kræver 2 redigeringer .

DirectX Video Acceleration (forkortet DXVA , bogstaveligt talt russisk DirectX-videoacceleration ) er en applikationsprogrammeringsgrænseflade (API), en DirectX - komponent udviklet af Microsoft og designet til at behandle (primært afkode ) en bitstrøm af videodata ved hjælp af grafikprocessorer ( eng.  GPU ) .

DXVA er designet til at køre på IBM PC-kompatible computere , der kører operativsystemer fra Microsoft Windows -familien og på Xbox 360 -spillekonsollen . DXVA-softwarepipelinen tillader, at visse ressourcekrævende operationer, såsom diskret cosinustransformation , bevægelseskompensation og deinterlacing , kan udføres på GPU'en i stedet for på CPU'en . DXVA 2.0 gør det muligt at omdirigere flere operationer til GPU'en, herunder videooptagelse og videobehandling.

DXVA fungerer sammen med DirectShow , som understøttes af videokort . DXVA 1.0, der blev introduceret som en standard API og har været tilgængelig siden Windows 2000 , kunne bruge enten overlejringstilstand eller VMR 7/9. [1] DXVA 2.0, der kun er tilgængelig fra Windows Vista , er integreret med Media Foundations multimedieramme og bruger Enhanced Video Renderer video renderer . [en]

Oversigt

DXVA bruges af software -video-codecs til at definere en codec-specifik pipeline, der kræves til hardware-afkodning og gengivelse af en video-stream af det pågældende codec. Pipelinen starter med CPU'en, som analyserer mediestrømmen og konverterer den til DXVA-kompatible strukturer. DXVA definerer et sæt operationer, der kan hardwareaccelereres, og et enhedsdriverinterface ( DDI ), der bestemmer, om en grafikkortdriver kan håndtere disse operationer i hardware. Hvis en codec bruger disse operationer, kan den bruge disse videodrivergrænseflader til at få adgang til hardwareacceleration. Hvis grafikdriveren ikke understøtter en eller flere af disse grænseflader, omdirigeres behandlingen af ​​disse operationer til den centrale processor. Allerede afkodet video kan overføres til GPU'en til videoefterbehandling . Den resulterende pipeline er tilgængelig i DirectShow- kompatible applikationer .  

Til bevægelseskompensation definerer DXVA en drivergrænseflade (DDI), som igen definerer grænseflader til diskret cosinustransformation (iDCT), Huffman-kodning , alfablanding , invers kvantisering, farverumskonvertering, billedhastighedsændring og andre operationer. [2] [3] Det inkluderer også tre underspecifikationer: "Deinterlacing DDI", "COPP DDI" og "ProcAmp DDI". [4] Deinterlacing DDI definerer tilbagekaldsfunktioner til deinterlacing- operationer . COPP (Certified Output Protection Protocol) DDI-funktionerne gør det muligt for pipelinen at beskytte mediedata ved at specificere krypteringsfunktioner. ProcAmp DDI bruges til at fremskynde videoefterbehandling. ProcAmp-drivermodulet sidder mellem videohardwaregengivelsen og skærmdriveren og giver funktioner, der giver dig mulighed for at anvende efterbehandlingsfiltre på allerede afkodet video.

DXVA DDI-funktionerne er ikke tilgængelige direkte for DirectShow-klienten, men leveres som tilbagekald til videorendereren. Renderen spiller således en meget vigtig rolle i sammensætningen af ​​rørledningen.

DXVA 1.0 bruges på Windows XP og Windows 2000 .

DXVA på Windows Vista og nyere

DXVA 2.0 forbedrede implementeringen af ​​videopipeline og tilføjede nogle andre DDI'er såsom "Capture DDI" designet til videooptagelse . To af de originale tre DDI'er, der blev leveret med DXVA 1.0, blev forbedret i den anden version, med flere operationer tilgængelige til hardwarebehandling. DXVA 2.0 inkluderer ikke COPP DDI, men bruger i stedet Protected Media Path til beskyttet indhold. DXVA 1.0 emuleres ved hjælp af DXVA 2.0. [1] I DXVA 2.0 er DDI-funktioner tilgængelige direkte til klientprogrammet og kræver ikke en mellemliggende videorenderer. [5] Således blev det muligt at skabe pipelines til simpel videoafkodning (ingen gengivelse) eller efterbehandling og gengivelse (ingen afkodning). Alle disse funktioner kræver Windows Display Driver Model , som er bundtet med DirectX 10 , som begrænser listen over operativsystemer fra DXVA 2.0 til Windows Vista , Windows Server 2008 , Windows 7 og Windows Server 2008 R2 . [1] [5] DXVA 2.0 understøtter kun Enhanced Video Renderer som en videorenderer på Vista og Windows 7 (på Windows XP er DXVA-gengivelse mulig med VMR9 og Overlay Mixer [1] ). DXVA er integreret med Media Foundation og gør det muligt at anerkende DXVA-pipelines som Media Foundation Transforms (MFT'er) . Selv afkodningspipelinen og efterbehandlingspipelinen kan genkendes som MFT'er, hvilket resulterer i en komplet videoafspilningspipeline ved hjælp af Media Foundation-topologiindlæseren.

Der er DXVA-HD, som er en videreudvikling af DXVA 2.0 og er tilgængelig på Windows 7 , hvis WDDM 1.1 understøttes. [6]

Softwaresupport

Se også

Noter

  1. 1 2 3 4 5 DirectX Video Acceleration 2.0 . Hentet 24. oktober 2007. Arkiveret fra originalen 23. april 2012.
  2. Introduktion til DirectX VA . Hentet 24. oktober 2007. Arkiveret fra originalen 23. april 2012.
  3. Understøttelse af Microsoft DirectX Video Acceleration (DirectX VA) . Hentet 24. oktober 2007. Arkiveret fra originalen 23. april 2012.
  4. DirectX-videoacceleration . Hentet 24. oktober 2007. Arkiveret fra originalen 23. april 2012.
  5. 12 Hvad er nyt i DirectShow . Hentet 24. oktober 2007. Arkiveret fra originalen 23. april 2012.
  6. DXVA -HD  . MSDN (8. april 2010). Hentet 24. april 2010. Arkiveret fra originalen 23. april 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 . Hentet 22. april 2010. Arkiveret fra originalen 2. maj 2013.
  8. VLC GPU-afkodning - VideoLAN Wiki . Hentet 7. maj 2022. Arkiveret fra originalen 13. maj 2021.

Links