DirectX Video Acceleration - DirectX Video Acceleration

DirectX Video Acceleration ( DXVA ) er en Microsoft API -spesifikasjonen for Microsoft Windows og Xbox 360 plattformer som gjør at video dekoding å være hardware-akselerert . Den rørledning tillater at enkelte CPU -intensiv operasjoner som IDCT , bevegelseskompensering og fjerning av linjesprang som skal losses til GPU . DXVA 2.0 gjør det mulig å akselerere flere operasjoner, inkludert videoopptak og prosessering , også.

DXVA fungerer sammen med videogjengivelsesmodellen som brukes av skjermkortet . DXVA 1.0, som ble introdusert som et standardisert API med Windows 2000 og for tiden er tilgjengelig på Windows 98 eller nyere, kan bruke gjengivelsesmodus for overlegg eller VMR 7/9 . DXVA 2.0, bare tilgjengelig på Windows Vista , Windows 7 , Windows 8 og nyere operativsystemer, integreres med Media Foundation (MF) og bruker Enhanced Video Renderer (EVR) som er tilstede i MF.

Oversikt

DXVA brukes av programvarevideo-dekodere for å definere en kodekspesifikk rørledning for maskinvareakselerert dekoding og gjengivelse av kodeken. Rørledningen starter ved CPUen som brukes til å analysere mediestrømmen og konvertere til DXVA-kompatible strukturer. DXVA spesifiserer et sett av operasjoner som kan være maskinvareakselerert og enhetsdrivergrensesnitt (DDIene) at grafikkdriveren kan gjennomføre for å akselerere driften. Hvis kodeken trenger å gjøre noen av de definerte operasjonene, kan den bruke disse grensesnittene for å få tilgang til maskinvareakselerert implementering av disse operasjonene. Hvis grafikkdriveren ikke implementerer ett eller flere av grensesnittene, er det opp til kodeken å gi et programvarefall for det. Den dekodede videoen overleveres til maskinvarevideo-gjengiveren, der ytterligere video etterbehandling kan bli brukt på den før den blir gjengitt til enheten. Den resulterende rørledningen kan brukes i et DirectShow- kompatibelt program.

DXVA spesifiserer Motion Compensation DDI, som spesifiserer grensesnittene for iDCT- operasjoner, Huffman-koding , bevegelseskompensasjon , alfablanding , invers kvantisering , konvertering av fargerom og konvertering av bildefrekvens, blant andre. Den inneholder også tre underspesifikasjoner: Deinterlacing DDI, COPP DDI og ProcAmp DDI. Den deinterlacing DDI spesifiserer callbacks for deinterlacing operasjoner. COPP (Certified Output Protection Protocol) DDI-funksjoner gjør det mulig å sikre rørledningen for DRM-beskyttede medier ved å spesifisere krypteringsfunksjoner . ProcAmp DDI brukes til å akselerere etterbehandling av video. ProcAmp-drivermodulen sitter mellom maskinvarevideo-gjengiveren og skjermdriveren, og den har funksjoner for å bruke etterbehandlingsfiltre på den dekomprimerte videoen.

Funksjonene eksponert av DXVA DDIer er ikke tilgjengelig direkte av en DirectShow- klient, men leveres som tilbakeringingsfunksjoner til videogjengiveren. Som sådan spiller gjengiveren en veldig viktig rolle i forankringen av rørledningen.

DXVA på Windows Vista og nyere

DXVA 2.0 forbedrer implementeringen av videorørledningen og legger til en rekke andre DDIer, inkludert en Capture DDI for videoopptak. DDI-ene som den deler med DXVA 1.0, forbedres også med muligheten til å bruke maskinvareakselerasjon av flere operasjoner. Dessuten er DDI-funksjonene direkte tilgjengelige for innringere og trenger ikke formidles av videogjengiveren. Som sådan kan et program også lage en rørledning for ganske enkelt å dekode media (uten gjengivelse) eller etterbehandling og gjengivelse (uten dekoding). Disse funksjonene krever driverne for Windows Display Driver Model , som begrenser DXVA 2.0 til Windows Vista , Windows Server 2008 , Windows 7 , Windows Server 2008 R2 og Windows 8 . På Windows XP og Windows 2000 kan programmer bruke DXVA 1.0. DXVA 2.0 tillater Enhanced Video Renderer som videoredigerer bare på Vista, Windows 7 og Windows 8. (Med Windows XP er DXVA-Rendering mulig med VMR9 og den velkjente Overlay Mixer.) DXVA integreres med Media Foundation og tillater DXVA rørledninger som skal eksponeres som Media Foundation Transforms ( MFT ). Selv dekoderrørledninger eller etterbehandlingsrørledninger kan eksponeres som MFT-er, som kan brukes av Media Foundation topologilaster for å skape en fullstendig medieavspillingsrørledning. DXVA 1.0 er emulert med DXVA 2.0. DXVA 2.0 inkluderer ikke COPP DDI, men bruker heller PVP for beskyttet innhold. Windows 7 implementerer DXVA-HD hvis driveren overholder WDDM 1.1.

DXVA2-implementeringer: native og copy-back

DXVA2-implementeringer kommer i to varianter: native og copy-back .

Med opprinnelig implementering forblir den dekodede videoen i GPU-minnet til den har blitt vist. Videodekoderen må være koblet til videogjengiveren uten mellomliggende behandlingsfilter. Videogjengiveren må også støtte DXVA, noe som gir mindre frihet i valget av gjengivere.

Ved kopiering-tilbake-implementering kopieres den dekodede videoen fra GPU-minne tilbake til CPU-minnet. Denne implementeringen har ikke begrensningene nevnt ovenfor og fungerer på samme måte som en vanlig programvaredekoder. imidlertid vil video stamming oppstå hvis GPUen ikke er rask nok til å kopiere minnet tilbake til CPU-minnet.

Innfødt modus er fordelaktig med mindre det er behov for tilpasset behandling, da de ekstra kopieringsoperasjonene vil øke GPU-minnet.

Programvare

Se også

Referanser

Eksterne linker