struktur DXVA_TCoefSingle (dxva.h)
Struktur DXVA_TCoefSingle dikirim oleh dekoder host ke akselerator untuk menentukan nilai koefisien IDCT .
Sintaks
typedef struct _DXVA_TCoefSingle {
WORD wIndexWithEOB;
SHORT TCoefValue;
} DXVA_TCoefSingle, *LPDXVA_TCoefSingle;
Anggota
wIndexWithEOB
Anggota ini berisi dua bidang: TCoefIDX dan TCoefEOB.
TCoefIDX
Menentukan indeks pemindaian koefisien dalam blok, seperti yang ditentukan dari anggota bConfigHostInverseScan dari struktur DXVA_ConfigPictureDecode . Bidang ini berada di 15 bit paling signifikan dari anggota wIndexWithEOB .
Ada dua cara agar TCoefIDX dapat digunakan:
- Pengurutan panjang eksekusi: Ketika bConfigHostInverseScan adalah nol, elemen MBscanMethod dari perintah kontrol macroblock menunjukkan zigzag, vertikal alternatif, atau pemindaian invers horizontal alternatif. Perintah kontrol blok makro ini didefinisikan dalam struktur berikut: DXVA_MBctrl_I_OffHostIDCT_1 atau DXVA_MBctrl_P_OffHostIDCT_1. Dalam hal ini, TCoefIDX berisi jumlah koefisien bernilai nol yang mendahului koefisien saat ini dalam urutan pemindaian yang ditentukan, selanjutnya ke koefisien terakhir yang ditransmisikan untuk blok (atau relatif terhadap awal blok jika tidak ada yang mendahuluinya). Setiap koefisien yang tersisa setelah koefisien terakhir yang dikirim dalam urutan pemindaian terbalik tersirat memiliki nilai nol.
- Urutan arbitrer: Ketika bConfigHostInverseScan adalah 1, elemen MBscanMethod dari perintah kontrol makroblock menunjukkan pengurutan sewenang-wenang. Perintah kontrol macroblock ini ditentukan dalam struktur berikut: DXVA_MBctrl_I_OffHostIDCT_1 dan DXVA_MBctrl_P_OffHostIDCT_1. Dalam hal ini, TCoefIDX hanya berisi indeks raster koefisien dalam blok (TCoefIDX = u + 8 * v, di mana Anda dan v adalah koordinat frekuensi horizontal dan vertikal domain transformasi), dan koefisien apa pun yang tidak dikirim tersirat memiliki nilai 0.
TCoefEOB
Menunjukkan apakah koefisien saat ini adalah yang terakhir yang terkait dengan blok koefisien transformasi saat ini. Nilai 1 menunjukkan bahwa koefisien saat ini adalah yang terakhir untuk blok dan nilai nol menunjukkan bahwa itu tidak. Bidang ini berada di bit yang paling tidak signifikan dari anggota wIndexWithEOB .
TCoefValue
Menunjukkan nilai koefisien dalam blok. TCoefValue harus diklip ke rentang yang sesuai seperti yang ditentukan dalam Elemen Pemrosesan IDCT Tingkat Rendah oleh host sebelum meneruskan nilai koefisien ke akselerator untuk operasi IDCT . Kontrol ketidakcocokan MPEG-2, jika perlu, juga merupakan tanggung jawab host, bukan akselerator. (Ini mungkin memerlukan pembuatan koefisien nonzero "phantom" tambahan.)
Keterangan
Struktur DXVA_TCoefSingle digunakan setiap kali bendera HostResidDiff (bit 10 dalam anggota wMBtype dari struktur DXVA_MBctrl_P_OffHostIDCT_1 atau DXVA_MBctrl_I_OffHostIDCT_1 ) adalah 1 dan anggota bConfig4GroupedCoefs dari struktur DXVA_ConfigPictureDecode adalah nol.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | dxva.h (termasuk Dxva.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk