Bagikan melalui


enumerasi D3D12DDI_VIDEO_DECODE_TIER_0020 (d3d12umddi.h)

Menentukan tingkat dekode video. Mendekode tingkat video menentukan serangkaian kemampuan perangkat keras. Semakin tinggi tingkatannya, semakin mampu perangkat keras.

Sintaks

typedef enum D3D12DDI_VIDEO_DECODE_TIER_0020 {
  D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED,
  D3D12DDI_VIDEO_DECODE_TIER_0020_1,
  D3D12DDI_VIDEO_DECODE_TIER_0020_2,
  D3D12DDI_VIDEO_DECODE_TIER_0020_3
} ;

Konstanta

 
D3D12DDI_VIDEO_DECODE_TIER_0020_NOT_SUPPORTED
Profil dekode tidak didukung.
D3D12DDI_VIDEO_DECODE_TIER_0020_1
Dekode video tingkat 1. Dalam dekode video tingkat 1, perangkat keras memerlukan tekstur output dekode dan tekstur referensi untuk mendekode aliran agar berdekatan secara fisik saat operasi video mereferensikannya.

Sumber daya referensi dialokasikan oleh aplikasi sebagai array tekstur D3D12. Driver tidak menerima petunjuk eksplisit bahwa alokasi menargetkan skenario video dan awalnya dapat mengalokasikan memori yang tidak bersebelahan secara fisik. Driver diharapkan menggunakan fitur Properti Alokasi Pembaruan baru yang disediakan oleh manajer memori, untuk menjadwalkan konversi ke secara fisik berdampingan setelah pengajuan pekerjaan video yang benar-benar mengharuskannya berdampingan secara fisik.

Karakteristik perangkat keras yang menempatkan perangkat keras di Tingkat 1:

* Perangkat keras dekode membutuhkan memori yang bersebelahan secara fisik untuk output dan referensi dekode. Buffer input dengan bitstream terkompresi mungkin juga memerlukan berdampingan secara fisik.

* Perangkat keras dekode mungkin memiliki format ubin khusus atau definisi tata letak memori lainnya yang tidak kompatibel dengan mesin lain atau operasi video.

Persyaratan buffer input terkompresi:

* Semua irisan untuk bingkai tertentu harus ditempatkan secara berurutan dan berdekatan (tidak ada celah di antara irisan).

* Driver tidak boleh melakukan salinan tambahan dari data bitstream.

* Irisan pertama harus dimulai pada batas 128 byte.

* Perangkat keras harus mendukung pendekodean dari buffer yang dialokasikan dari D3D12DDI_MEMORY_POOL_L0 (selalu memori sistem).

* Perangkat keras harus mendukung pendekodean dari D3D12DDI_MEMORY_POOL_L1 (kumpulan default) dengan D3D12DDI_CPU_PAGE_PROPERTY_NOT_AVAILABLE.
D3D12DDI_VIDEO_DECODE_TIER_0020_2
Dekode video tingkat 2. Dekode tingkat 2 memungkinkan pemanggil untuk mengalokasikan tekstur referensi dan output sebagai sumber daya tekstur 2D terpisah. Aplikasi tidak lagi diperlukan untuk mengalokasikan array tekstur, tetapi ini harus didukung.

Dekode Tingkat 2 tidak memiliki persyaratan yang berdekatan secara fisik. Perangkat keras mungkin memiliki persyaratan VA (akselerasi pendekodean video) yang bersebelahan di tingkat ini, dan aplikasi diperlukan untuk membuat array tekstur untuk mendukung ini.

Untuk mengaktifkan Tingkat 2, sumber daya yang dicadangkan, juga disebut sumber daya Tiled atau Sparse, harus didukung untuk format referensi dan output yang didukung oleh driver. Hal ini dapat dilakukan dengan 2 cara:

* Jika perangkat keras memiliki dukungan untuk VA GPU per proses dan memiliki pola petak peta yang mendukung persyaratan bentuk petak peta sumber daya yang dipesan, mekanisme sumber daya ubin D3D12 yang sudah ada sebelumnya dapat digunakan.

* Jika perangkat keras memiliki dukungan untuk GPU VA per proses, tetapi pola petak peta tidak sesuai dengan persyaratan bentuk petak peta sumber daya khusus, dan perangkat keras dapat mendukung pemetaan petak peta yang memetakan dan membuka petak peta untuk seluruh sub sumber daya, untuk setiap bidang sumber daya planar yang merupakan subsumber daya terpisah di D3D12, mekanismenya mengharuskan petak peta dipetakan dan petak peta tidak dipetakan secara independen. Perhatikan bahwa mekanisme ini sedang dalam pengembangan, tetapi akan mengaburkan bentuk petak peta di API.

Karakteristik perangkat keras yang menempatkan perangkat keras di Tingkat 2:

* Tidak memerlukan memori yang berdisipat secara fisik.

* Perangkat keras memiliki persyaratan VA yang bersebelahan.

* Perangkat keras dekode mungkin memiliki format ubin khusus atau definisi tata letak memori lainnya yang tidak kompatibel dengan mesin lain atau operasi video.

Persyaratan buffer input terkompresi sama dengan Tingkat 1.
D3D12DDI_VIDEO_DECODE_TIER_0020_3
Dekode video tingkat 3. Tingkat ini didukung dimulai di WDDM 2.3.

Dekode Tingkat 3 memungkinkan pemanggil untuk mengalokasikan tekstur referensi dan output sebagai sumber daya tekstur 2D standar. Aplikasi tidak lagi diperlukan untuk mengalokasikan array tekstur, tetapi ini harus didukung.

Dekode Tingkat 3 tidak memerlukan alokasi yang berdekatan secara fisik. Perangkat keras tidak boleh lagi memerlukan D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY, tetapi harus tetap mendukungnya. Saat dikueri, anggota D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY struktur D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 harus diatur ke FALSE.

Untuk mengaktifkan Tingkat 3, sumber daya yang dicadangkan (juga disebut sumber daya Tiled atau Sparse) harus didukung untuk format referensi dan output yang didukung oleh driver. Ini dapat terjadi dengan dua cara:

* Jika perangkat keras memiliki dukungan untuk VA GPU per proses dan memiliki pola petak peta yang mendukung persyaratan bentuk petak peta sumber daya yang dipesan, mekanisme sumber daya ubin D3D12 yang sudah ada sebelumnya dapat digunakan.

* Jika perangkat keras memiliki dukungan untuk GPU VA per proses, tetapi pola petak peta tidak sesuai dengan persyaratan bentuk petak peta sumber daya khusus, dan perangkat keras dapat mendukung pemetaan petak peta yang memetakan dan membuka petak peta untuk seluruh sub sumber daya, untuk setiap bidang sumber daya planar yang merupakan subsumber daya terpisah di D3D12, mekanismenya mengharuskan petak peta dipetakan dan petak peta tidak dipetakan secara independen. Perhatikan bahwa mekanisme ini sedang dalam pengembangan, tetapi akan mengaburkan bentuk petak peta di API.

Persyaratan buffer input terkompresi sama dengan Tingkat 1.

Keterangan

Jika perangkat keras dekode memerlukan format pemetakan unik yang tidak didukung untuk operasi pada mesin lain atau operasi video yang berbeda, dekoder dapat mengatur D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY dalam struktur D3D12DDI_VIDEO_DECODE_SUPPORT_DATA_0020 saat meminta dukungan profil. Bendera ini menunjukkan bahwa aplikasi harus mengalokasikan referensi dengan bendera D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY. Jika output diperlukan sebagai bingkai referensi di masa mendatang, bingkai output yang diteruskan ke PFND3D12DDI_VIDEO_DECODE_FRAME adalah sumber daya D3D12 yang dapat dikonsumsi oleh bagian lain dari alur, dan tidak boleh memiliki bendera D3D12DDI_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY.

Tabel berikut ini memperlihatkan kapabilitas yang berbeda untuk setiap tingkatan:

Kemampuan Tingkat 1 Tingkat 2 Tingkat 3
Mendukung bingkai referensi dan output yang dialokasikan secara individual. Tidak Tidak Diperlukan
Mendukung referensi dan dialokasikan sebagai array tekstur. Diperlukan Diperlukan Diperlukan
Mungkin secara opsional memerlukan bendera sumber daya REFERENCE_ONLY. Perhatikan bahwa semua tingkatan diperlukan untuk bekerja dengan bendera yang ada, bahkan ketika tidak diperlukan. Opsional Opsional Tidak
Dukungan untuk referensi yang dialokasikan dengan REFERENCE_ONLY, bahkan ketika batas tidak memerlukannya. Diperlukan Diperlukan Diperlukan
Mendukung sumber daya Tiled/Sparse untuk referensi, input, dan output. Tidak Diperlukan Diperlukan
Buffer input aliran bit terkompresi dapat dialokasikan sebagai L0 (memori sistem utama) atau L1 (untuk dGPU, memori video). Diperlukan Diperlukan Diperlukan
Memerlukan data bitstream terkompresi untuk irisan yang akan ditempatkan dalam satu alokasi buffer tanpa celah di antara irisan. Diperlukan Diperlukan Diperlukan
Offset ke pojok pertama dalam buffer input terkompresi harus selaras dengan 256 byte. Diperlukan Diperlukan Diperlukan
Driver tidak boleh melakukan salinan tambahan dari data bitstream terkompresi. Diperlukan Diperlukan Diperlukan

Persyaratan

Persyaratan Nilai
Header d3d12umddi.h (termasuk D3d12umddi.h)