Bagikan melalui


ID3D11VideoContext::D ecoderBeginFrame metode (d3d11.h)

Memulai operasi decoding untuk mendekode bingkai video.

Sintaksis

HRESULT DecoderBeginFrame(
  [in] ID3D11VideoDecoder           *pDecoder,
  [in] ID3D11VideoDecoderOutputView *pView,
  [in] UINT                         ContentKeySize,
  [in] const void                   *pContentKey
);

Parameter

[in] pDecoder

Penunjuk ke antarmuka ID3D11VideoDecoder. Untuk mendapatkan pointer ini, panggil ID3D11VideoDevice::CreateVideoDecoder.

[in] pView

Penunjuk ke antarmuka ID3D11VideoDecoderOutputView. Antarmuka ini menjelaskan sumber daya yang akan menerima bingkai yang didekodekan. Untuk mendapatkan pointer ini, panggil ID3D11VideoDevice::CreateVideoDecoderOutputView.

[in] ContentKeySize

Ukuran kunci konten yang ditentukan dalam pContentKey. Jika pContentKey adalah NULL, atur ContentKeySize ke nol.

[in] pContentKey

Penunjuk opsional ke kunci konten yang digunakan untuk mengenkripsi data bingkai. Jika tidak ada kunci konten yang digunakan, atur parameter ini ke NULL. Jika pemanggil menyediakan kunci konten, pemanggil harus menggunakan kunci sesi untuk mengenkripsi kunci konten.

Mengembalikan nilai

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT. D3DERR_WASSTILLDRAWING atau E_PENDING dikembalikan jika perangkat keras sibuk, dalam hal ini dekoder harus mencoba melakukan panggilan lagi.

Komentar

Setelah metode ini dipanggil, panggil ID3D11VideoContext::SubmitDecoderBuffers untuk melakukan operasi decoding. Ketika semua operasi decoding telah dijalankan, panggil ID3D11VideoContext::D ecoderEndFrame.

Setiap panggilan ke DecoderBeginFrame harus memiliki panggilan yang cocok ke DecoderEndFrame. Dalam kebanyakan kasus, Anda tidak dapat menumpuk panggilan DecoderBeginFrame, tetapi beberapa codec, seperti VC-1, dapat memiliki panggilan DecoderBeginFrame untuk operasi khusus seperti pemrosesan pasca.

Skenario enkripsi berikut didukung melalui kunci konten:

  • Dekoder dapat memilih untuk tidak mengenkripsi setiap bingkai, misalnya hanya dapat mengenkripsi bingkai I dan tidak mengenkripsi bingkai P/B. Dalam skenario ini, dekoder akan menentukan pContentKey = NULL dan ContentKeySize = 0 untuk bingkai yang tidak dienkripsi.
  • Dekoder dapat memilih untuk mengenkripsi buffer terkompresi menggunakan kunci sesi. Dalam skenario ini, dekoder akan menentukan kunci konten yang berisi semua nol.
  • Dekoder dapat memilih untuk mengenkripsi buffer terkompresi menggunakan kunci konten terpisah. Dalam skenario ini, dekoder akan ECB mengenkripsi kunci konten menggunakan kunci sesi dan meneruskan kunci konten terenkripsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Platform Target Windows
Header d3d11.h

Lihat juga

ID3D11VideoContext