Tentang DXVA 2.0
DirectX Video Acceleration (DXVA) adalah API dan DDI yang sesuai untuk menggunakan akselerasi perangkat keras untuk mempercepat pemrosesan video. Codec perangkat lunak dan prosesor video perangkat lunak dapat menggunakan DXVA untuk membongkar operasi intensif CPU tertentu ke GPU. Misalnya, dekoder perangkat lunak dapat membongkar transformasi kosinus diskrit terbalik (iDCT) ke GPU.
Di DXVA, beberapa operasi decoding diimplementasikan oleh driver perangkat keras grafis. Set fungsionalitas ini disebut akselerator. Operasi decoding lainnya diimplementasikan oleh perangkat lunak aplikasi mode pengguna, yang disebut dekoder host atau dekoder perangkat lunak. (Istilah host decoder dan software decoder setara.) Pemrosesan yang dilakukan oleh akselerator disebut pemrosesan di luar host. Biasanya akselerator menggunakan GPU untuk mempercepat beberapa operasi. Setiap kali akselerator melakukan operasi decoding, dekoder host harus menyampaikan ke buffer akselerator yang berisi informasi yang diperlukan untuk melakukan operasi
API DXVA 2 memerlukan Windows Vista atau yang lebih baru. API DXVA 1 masih didukung di Windows Vista untuk kompatibilitas mundur. Lapisan emulasi disediakan yang mengonversi antara salah satu versi API dan versi DDI yang berlawanan:
- Jika driver grafis sesuai dengan Windows Display Driver Model (WDDM), panggilan API DXVA 1 dikonversi ke panggilan DXVA 2 DDI.
- Jika driver grafis menggunakan Windows XP Display Driver Model (XPDM) yang lebih lama, panggilan API DXVA 2 dikonversi ke panggilan DDI DXVA 1.
Tabel berikut menunjukkan persyaratan sistem operasi dan perender video yang didukung untuk setiap versi API DXVA.
Versi API | Persyaratan | Dukungan Perender Video |
---|---|---|
DXVA 1 | Windows 2000 atau yang lebih baru | Overlay Mixer, VMR-7, VMR-9 (hanya DirectShow) |
DXVA 2 | Windows Vista | EVR (DirectShow dan Media Foundation) |
Di DXVA 1, dekoder perangkat lunak harus mengakses API melalui perender video. Tidak ada cara untuk menggunakan API DXVA 1 tanpa memanggil ke perender video. Batasan ini telah dihapus dengan DXVA 2. Dengan menggunakan DXVA 2, dekoder host (atau aplikasi apa pun) dapat mengakses API secara langsung, melalui antarmuka IDirectXVideoDecoderService.
Dokumentasi DXVA 1 menjelaskan struktur decoding yang digunakan untuk standar video berikut:
- ITU-T Rec. H.261
- ITU-T Rec. H.263
- Video MPEG-1
- Video Profil Utama MPEG-2
Spesifikasi berikut menentukan ekstensi DXVA untuk standar video lainnya:
- Spesifikasi DXVA untuk Decoding H.264/AVC
- Spesifikasi DXVA untuk H.264/MPEG-4 AVC Multiview Video Coding (MVC), Termasuk Profil Tinggi Stereo
- Spesifikasi DXVA untuk Dekode Video VLD MPEG-1 dan Kombinasi MPEG-1/MPEG-2 VLD.
- Spesifikasi DXVA untuk Mode VLD Off-Host untuk Dekode Video MPEG-4 Bagian 2
- Spesifikasi DXVA untuk Windows Media Video® v8, v9 dan vA Decoding (Termasuk SMPTE 421M "VC-1")
- Spesifikasi DirectX Video Acceleration (DXVA) untuk Decoding Mode VLD Off-Host H.264/MPEG-4
- Spesifikasi Akselerasi Video DirectX untuk VP8 dan VP9 Video Coding
DXVA 1 dan DXVA 2 menggunakan struktur data yang sama untuk decoding. Namun, prosedur untuk mengonfigurasi sesi decoding telah berubah. DXVA 1 menggunakan mekanisme "probe dan kunci", di mana dekoder host dapat menguji berbagai konfigurasi sebelum mengatur konfigurasi yang diinginkan pada akselerator. Di DXVA 2, akselerator mengembalikan daftar konfigurasi yang didukung dan dekoder host memilih satu dari daftar. Detail diberikan di bagian berikut:
Topik terkait