Bagikan melalui


struktur D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC (d3d12video.h)

Menjelaskan kontrol gambar encoder video.

Sintaks

typedef struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC {
  UINT                                           IntraRefreshFrameIndex;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS      Flags;
  D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData;
  D3D12_VIDEO_ENCODE_REFERENCE_FRAMES            ReferenceFrames;
} D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC;

Anggota

IntraRefreshFrameIndex

Saat meminta gelombang intra-refresh untuk bingkai IntraRefreshFramesDuration dengan menentukan bendera D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH , nilai ini menunjukkan, untuk gambar saat ini, indeks bingkai dalam gelombang intra-refresh. Rentang nilai diatur oleh host antara 0 dan IntraRefreshFramesDuration untuk mengisyaratkan status sesi intra-refresh ke driver.

Flags

Kombinasi nilai OR bit dari enumerasi D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS yang menentukan bendera deskriptor kontrol gambar.

PictureControlCodecData

Struktur D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA yang berisi data kontrol gambar khusus codec. Bergantung pada mode kontrol laju yang dipilih, nilai QP ditafsirkan secara berbeda.

ReferenceFrames

Struktur D3D12_VIDEO_ENCODE_REFERENCE_FRAMES yang berisi gambar yang direkonstruksi dari output operasi pengodean sebelumnya.

Keterangan

Keterangan berikut memberikan panduan untuk manajemen bingkai.

Host memanggil EncodeFrame dalam urutan pengodean berdasarkan urutan berkala jenis gambar yang dikonfigurasi dalam struktur GOP codec setelah melakukan pengurutan ulang bingkai B oleh POC jika diperlukan. Codec yang berbeda akan menggunakan cara mereka sendiri untuk mengindeks struktur ini dan menjaga metadata statusnya. Lihat parameter gambar codec yang juga diteruskan dalam operasi EncodeFrame yang berisi detail tersebut.

D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS menentukan persyaratan array tekstur untuk bidang ppTexture2Ds dan pSubresources dari struktur D3D12_VIDEO_ENCODE_REFERENCE_FRAMES .

Output operasi pengodean untuk bingkai tertentu juga harus mengembalikan gambar yang direkonstruksi jika ditandai sebagai referensi untuk penggunaan di masa mendatang dalam bingkai berikutnya, klien meneruskan gambar yang direkonstruksi dalam perintah EncodeFrame di masa mendatang.

Jika mengkoding lapisan temporal, gambar hanya dapat digunakan sebagai gambar referensi pada TemporalLayerIndex yang lebih rendah daripada gambarnya sendiri. Indeks lapisan temporal ditentukan dalam struktur kontrol gambar dan di deskriptor gambar referensi.

Batasan HW untuk jumlah gambar referensi dinyatakan dalam hal jumlah maksimum elemen yang ada di L0 (MaxL0ReferencesForP/MaxL0ReferencesForB) dan L1 (MaxL1ReferencesForB) mencantumkan dan membatasi dengan MaxDPBCapacity jumlah maksimum indeks unik dalam (L0 union L1) yang memetakan ke dalam nilai pReferenceFramesReconPictureDescriptors yang disediakan dalam D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.

Tidak ada batasan jumlah entri DPB yang diteruskan dalam pReferenceFramesReconPictureDescriptors, tetapi sebaliknya dalam jumlah entri pada array tersebut menjadi referensi oleh daftar L0 dan L1. Ini memungkinkan pengguna untuk melacak status DPB di pReferenceFramesReconPictureDescriptors dalam batasan yang ditentukan oleh batasan standar codec dan hanya menggunakan subset yang dibatasi oleh batasan perangkat keras saat memanggil EncodeFrame. Misalnya, untuk pengodean HEVC, pemanggil dapat melacak 15 gambar terbaru yang dikodekan dalam pReferenceFramesReconPictureDescriptors tetapi hanya menggunakan subset gambar yang termasuk dalam pembatasan perangkat keras, dengan menetapkan sejumlah indeks unik terbatas dalam daftar L0 dan L1.

Perhatikan bahwa permintaan bingkai IDR akan bertindak sebagai hambatan antara referensi bingkai dan buffer DPB dan statusnya mungkin perlu dibersihkan sesuai dengan host.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Build 22000
Server minimum yang didukung Windows Build 22000
Header d3d12video.h