PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0 fungsi panggilan balik (d3d12umddi.h)
Fungsi panggilan balik PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0 merekam perintah untuk menyelesaikan metadata output operasi pengodean ke dalam format yang dapat dibaca.
Sintaks
PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0 Pfnd3d12ddiVideoEncodeResolveOutputMetadata00820;
void Pfnd3d12ddiVideoEncodeResolveOutputMetadata00820(
[in] D3D12DDI_HCOMMANDLIST hDrvCommandList,
[in] const D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2 *pInputArguments,
[out] const D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS_0082_0 *pOutputArguments
)
{...}
Parameter
[in] hDrvCommandList
Tangani data driver untuk daftar perintah. Driver menggunakan wilayah memori ini untuk menyimpan struktur data internal yang terkait dengan daftar perintahnya.
[in] pInputArguments
Penunjuk ke struktur D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2 yang berisi argumen input untuk panggilan balik ini.
[out] pOutputArguments
Arahkan ke struktur D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS_0082_0 untuk menyimpan output dari panggilan balik ini.
Menampilkan nilai
Tidak ada
Keterangan
Untuk semua encoder, driver harus memposisikan semua informasi tata letak secara berdekatan dalam memori di ResolvedLayoutEncoderMetadataDrvBuffer. Klien API akan mengurai metadata ini sesuai tergantung pada jenis encoder (D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2.EncoderCodec di tingkat driver).
ResolvedLayoutEncoderMetadataDrvBuffer untuk codec H264/HEVC
Untuk encoder H264 dan HEVC (jenis yang didukung sebelum ekstensi AV1 ditambahkan), tata letak memori buffer yang diselesaikan tidak diubah.
Elemen WrittenSubregionsCount jenis D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0 menunjukkan setiap petak peta dalam urutan yang sama yang ditulis dalam bitstream output terkompresi.
Pemanggil dapat menyimpulkan ukuran maksimum buffer metadata yang diselesaikan dengan tata letak H264/HEVC untuk ResolveEncoderOutputMetadata:
- maxSliceNumber = D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.MaxSubregionsNumber;
- MaxEncoderOutputMetadataResolvedBufferSize = sizeof(D3D12DDI_VIDEO_ENCODER_OUTPUT_METADATA_0083_0) + (maxSliceNumber * sizeof(D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0))
ResolvedLayoutEncoderMetadataDrvBuffer untuk codec AV1
Untuk pengodean AV1 (pInputArguments-EncoderCodec> sama dengan D3D12DDI_VIDEO_ENCODER_CODEC_0095_AV1), yang ditambahkan dalam Windows 11, versi 24H2 (WDDM 3.2), driver harus menggunakan tata letak buffer terselesaikan khusus AV1 yang ditambahkan.
Tata letak memori didefinisikan sebagai:
Elemen WrittenSubregionsCount jenis D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0 menunjukkan setiap petak peta dalam urutan yang sama yang ditulis dalam bitstream output terkompresi.
- bSize = tile_size_minus_1 + 1 + bStartOffset
- bStartOffset = Byte untuk melewati relatif terhadap petak peta ini, ukuran petak peta berkode bitstream aktual tile_size_minus_1 = (bSize - bStartOffset - 1).
- bHeaderSize = 0
- Petak peta i-th dibaca dari compressed_bitstream[offset] dengan offset = [sum j = (0, (i-1)){ tile[j].bSize }] + tile[i].bStartOffset
Struktur D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095 menunjukkan struktur kisi petak peta bingkai yang dikodekan
D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095 struktur yang menunjukkan nilai metadata pengodean yang hanya diperoleh pasca-eksekusi EncodeFrame pada GPU.
Pemanggil dapat menyimpulkan ukuran maksimum buffer metadata yang diselesaikan dengan tata letak untuk AV1 di ResolveEncoderOutputMetadata.
- MaxTiles = D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.MaxSubregionsNumber;
- MaxEncoderOutputMetadataResolvedBufferSize = sizeof(D3D12DDI_VIDEO_ENCODER_OUTPUT_METADATA_0083_0) + (MaxTiles * sizeof(D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0)); + sizeof(D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095) + sizeof(D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095)
Lihat Pengodean video D3D12 untuk informasi umum.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |