Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Runtime Microsoft Direct3D memanggil fungsi DecodeBeginFrame dan DecodeEndFrame driver tampilan mode pengguna untuk menunjukkan periode waktu antara panggilan fungsi ini bahwa driver tampilan mode pengguna dapat mendekode video. Sebelum driver tampilan mode pengguna dapat melakukan operasi dekode video apa pun, runtime Microsoft Direct3D harus memanggil fungsi SetDecodeRenderTarget driver tampilan mode pengguna untuk mengatur permukaan target render untuk operasi dekode tersebut. Namun, panggilan ke SetDecodeRenderTarget hanya dapat terjadi di luar periode waktu bingkai awal dan kerangka akhir.
Dalam mode terproteksi dan dalam panggilan ke DecodeBeginFrame, runtime Direct3D mengatur atau mengubah kunci konten DirectX VA dalam variabel yang ditunjukkan anggota struktur D3DDDIARG_DECODEBEGINFRAME pPVPSetKey. Perangkat dekode menggunakan kunci ini untuk transfer yang dilindungi dari buffer DirectX VA terkompresi untuk bingkai ini dan berikutnya.
Catatan Runtime Direct3D mengatur penunjuk pPVPSetKey hanya untuk mengubah atau mengatur kunci. Untuk mempertahankan kunci yang ditetapkan sebelumnya yang digunakan, runtime mengatur penunjuk ke NULL untuk menghindari potensi pengisian ulang yang memakan waktu dari kunci yang sama. Pengandar tidak menghilangkan pengaturan redundan. Aplikasi decoder harus menghindari pengaturan yang berlebihan.
Setelah permukaan target render untuk operasi dekode diatur, driver tampilan mode pengguna dapat menerima panggilan ke fungsi DecodeExecute untuk melakukan operasi dekode video antara periode waktu bingkai-awal dan jangka akhir.
Dalam panggilan ke DecodeExecute, tidak semua jenis buffer yang ditentukan dalam anggota CompressedBufferType dari struktur DXVADDI_DECODEBUFFERDESC array pCompressedBuffers dari struktur D3DDDIARG_DECODEEXECUTE digunakan untuk setiap GUID dekode yang ditentukan anggota hDecode D3DDDIARG_DECODEEXECUTE. Misalnya, buffer kontrol potongan (D3DDDIFMT_SLICECONTROLDATA), inverse-quantization (D3DDDIFMT_INVERSEQUANTIZATIONDATA), dan bit-stream (D3DDDIFMT_BITSTREAMDATA) diperlukan hanya untuk pemrosesan dekode panjang variabel (VLD), dan buffer kontrol pembatalan (D3DDDIFMT_DEBLOCKINGDATA) tidak digunakan oleh MPEG-2 sama sekali.
Dalam mode terproteksi, buffer yang dienkripsi untuk transfer yang dilindungi dengan kunci konten berisi penunjuk ke nilai penghitung awal dalam deskriptor buffer mereka (yaitu, dalam variabel yang ditunjukkan oleh anggota pCipherCounter dari struktur DXVADDI_DECODEBUFFERDESC ). Setiap panggilan ke fungsi DecodeExecute driver tampilan mode pengguna harus melakukan transfer buffer tersebut yang dilindungi ke memori video lokal sebelum DecodeExecute menggunakan data buffer dalam operasi dekode. Namun, tidak ada rencana untuk mengenkripsi jenis buffer terkompresi DirectX VA selain jenis perbedaan residu (D3DDDIFMT_RESIDUALDIFFERENCEDATA) dan bit-stream (D3DDDIFMT_BITSTREAMDATA).