struktur DXVA_PicParams_AV1 (dxva.h)
Struktur DXVA_PicParams_AV1 menyediakan parameter tingkat gambar dari gambar terkompresi untuk pendekodean video AV1.
Sintaks
typedef struct _DXVA_PicParams_AV1 {
UINT width;
UINT height;
UINT max_width;
UINT max_height;
UCHAR CurrPicTextureIndex;
UCHAR superres_denom;
UCHAR bitdepth;
UCHAR seq_profile;
struct {
UCHAR cols;
UCHAR rows;
USHORT context_update_id;
USHORT widths[64];
USHORT heights[64];
} tiles;
union {
struct {
UINT use_128x128_superblock : 1;
UINT intra_edge_filter : 1;
UINT interintra_compound : 1;
UINT masked_compound : 1;
UINT warped_motion : 1;
UINT dual_filter : 1;
UINT jnt_comp : 1;
UINT screen_content_tools : 1;
UINT integer_mv : 1;
UINT cdef : 1;
UINT restoration : 1;
UINT film_grain : 1;
UINT intrabc : 1;
UINT high_precision_mv : 1;
UINT switchable_motion_mode : 1;
UINT filter_intra : 1;
UINT disable_frame_end_update_cdf : 1;
UINT disable_cdf_update : 1;
UINT reference_mode : 1;
UINT skip_mode : 1;
UINT reduced_tx_set : 1;
UINT superres : 1;
UINT tx_mode : 2;
UINT use_ref_frame_mvs : 1;
UINT enable_ref_frame_mvs : 1;
UINT reference_frame_update : 1;
UINT Reserved : 5;
};
UINT32 CodingParamToolFlags;
} coding;
union {
struct {
UCHAR frame_type : 2;
UCHAR show_frame : 1;
UCHAR showable_frame : 1;
UCHAR subsampling_x : 1;
UCHAR subsampling_y : 1;
UCHAR mono_chrome : 1;
UCHAR Reserved : 1;
};
UCHAR FormatAndPictureInfoFlags;
} format;
UCHAR primary_ref_frame;
UCHAR order_hint;
UCHAR order_hint_bits;
DXVA_PicEntry_AV1 frame_refs[7];
UCHAR RefFrameMapTextureIndex[8];
struct {
UCHAR filter_level[2];
UCHAR filter_level_u;
UCHAR filter_level_v;
UCHAR sharpness_level;
union {
struct {
UCHAR mode_ref_delta_enabled : 1;
UCHAR mode_ref_delta_update : 1;
UCHAR delta_lf_multi : 1;
UCHAR delta_lf_present : 1;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
CHAR ref_deltas[8];
CHAR mode_deltas[2];
UCHAR delta_lf_res;
UCHAR frame_restoration_type[3];
USHORT log2_restoration_unit_size[3];
UINT16 Reserved16Bits;
} loop_filter;
struct {
union {
struct {
UCHAR delta_q_present : 1;
UCHAR delta_q_res : 2;
UCHAR Reserved : 5;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
UCHAR base_qindex;
CHAR y_dc_delta_q;
CHAR u_dc_delta_q;
CHAR v_dc_delta_q;
CHAR u_ac_delta_q;
CHAR v_ac_delta_q;
UCHAR qm_y;
UCHAR qm_u;
UCHAR qm_v;
UINT16 Reserved16Bits;
} quantization;
struct {
union {
struct {
UCHAR damping : 2;
UCHAR bits : 2;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_151f_60 y_strengths[8];
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_151f_62 uv_strengths[8];
} cdef;
UCHAR interp_filter;
struct {
union {
struct {
UCHAR enabled : 1;
UCHAR update_map : 1;
UCHAR update_data : 1;
UCHAR temporal_update : 1;
UCHAR Reserved : 4;
};
UCHAR ControlFlags;
} DUMMYUNIONNAME;
UCHAR Reserved24Bits[3];
union {
struct {
UCHAR alt_q : 1;
UCHAR alt_lf_y_v : 1;
UCHAR alt_lf_y_h : 1;
UCHAR alt_lf_u : 1;
UCHAR alt_lf_v : 1;
UCHAR ref_frame : 1;
UCHAR skip : 1;
UCHAR globalmv : 1;
};
UCHAR mask;
};
__unnamed_union_151f_67 feature_mask[8];
SHORT feature_data[8][8];
} segmentation;
struct {
union {
struct {
USHORT apply_grain : 1;
USHORT scaling_shift_minus8 : 2;
USHORT chroma_scaling_from_luma : 1;
USHORT ar_coeff_lag : 2;
USHORT ar_coeff_shift_minus6 : 2;
USHORT grain_scale_shift : 2;
USHORT overlap_flag : 1;
USHORT clip_to_restricted_range : 1;
USHORT matrix_coeff_is_identity : 1;
USHORT Reserved : 3;
};
USHORT ControlFlags;
} DUMMYUNIONNAME;
USHORT grain_seed;
UCHAR scaling_points_y[14][2];
UCHAR num_y_points;
UCHAR scaling_points_cb[10][2];
UCHAR num_cb_points;
UCHAR scaling_points_cr[10][2];
UCHAR num_cr_points;
UCHAR ar_coeffs_y[24];
UCHAR ar_coeffs_cb[25];
UCHAR ar_coeffs_cr[25];
UCHAR cb_mult;
UCHAR cb_luma_mult;
UCHAR cr_mult;
UCHAR cr_luma_mult;
UCHAR Reserved8Bits;
SHORT cb_offset;
SHORT cr_offset;
} film_grain;
UINT Reserved32Bits;
UINT StatusReportFeedbackNumber;
} DXVA_PicParams_AV1, *LPDXVA_PicParams_AV1;
Anggota
width
Lebar berkode bingkai saat ini. Sesuai dengan elemen sintaks frame_width_minus_1. Lihat Keterangan.
height
Tinggi berkode bingkai saat ini. Sesuai dengan elemen sintaks frame_height_minus_1. Lihat Keterangan.
max_width
max_height
CurrPicTextureIndex
Indeks buffer/permukaan bingkai tujuan untuk gambar yang didekodekan.
superres_denom
Ketika superres diaktifkan, bidang ini menentukan denominator untuk menghitung lebar bingkai yang diperbarui. Ini sesuai dengan nilai SuperresDenom dari spesifikasi AV1. Ketika superres tidak diaktifkan, nilai ini akan menjadi 8.
bitdepth
Kedalaman bit sampel luma dan klorma yang didekodekan. Nilai yang diizinkan dibatasi oleh nilai profil.
seq_profile
Profil bitstream AV1. Ini sesuai dengan elemen sintaks: seq_profile. Format pengodean video AV1 menentukan profil berikut:
Profil | Makna |
---|---|
profil 0 | Mendukung pengambilan sampel chroma 4:2:0 dengan 8 atau 10 bit per sampel dan format monokrom. |
profil 1 | Mendukung pengambilan sampel chroma 4:4:4 dengan 8 atau 10 bit per sampel. |
profil 2 | Mendukung pengambilan sampel chroma 4:2:0, 4:2:2, atau 4:4:4 pada format 8, 10, atau 12 bit per sampel dan monokrom. |
tiles
Berisi informasi khusus untuk petak peta.
tiles.cols
Jumlah petak peta di seluruh bingkai. Bidang ini sesuai dengan 2^TileColsLog2 dari spesifikasi AV1.
tiles.rows
Jumlah petak peta ke bawah bingkai. Bidang ini sesuai dengan 2^TileRowsLog2 dari spesifikasi AV1.
tiles.context_update_id
Menentukan petak peta mana yang akan digunakan untuk pembaruan CDF. Ini sesuai dengan elemen sintaksis bernama context_update_tile_id dari spesifikasi AV1.
tiles.widths[64]
Lebar setiap petak peta, dalam satuan superblok. Hanya 2^cols_log2 entri lebar pertama yang valid. Bidang ini sesuai dengan variabel tileWidthSb dari spesifikasi AV1.
tiles.heights[64]
Tinggi setiap petak peta, dalam satuan superblok. Hanya entri tinggi 2^rows_log2 pertama yang valid. Bidang ini sesuai dengan variabel tileHeightSb dari spesifikasi AV1.
coding
Alat pengodian.
coding.use_128x128_superblock
Ketika sama dengan 1, menunjukkan bahwa superblok berisi 128x128 sampel luma; jika tidak, superblok berisi sampel luma 64x64. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
coding.intra_edge_filter
Menentukan apakah proses pemfilteran intra edge harus diaktifkan. Bidang ini sesuai dengan elemen sintaks bernama enable_intra_edge_filter dari spesifikasi AV1.
coding.interintra_compound
Ketika sama dengan 1, menunjukkan bahwa info mode untuk antar blok mungkin berisi interintra elemen sintaks; jika tidak, elemen sintaks interintra tidak akan ada. Bidang ini sesuai dengan elemen sintaksis bernama enable_interintra_compound dari spesifikasi AV1.
coding.masked_compound
Ketika sama dengan 1, menunjukkan bahwa info mode untuk blok antar mungkin berisi elemen sintaks compound_type; jika tidak, elemen sintaks compound_type tidak akan ada. Bidang ini sesuai dengan elemen sintaksis bernama enable_masked_compound dari spesifikasi AV1.
coding.warped_motion
Jika sama dengan 1, menunjukkan bahwa elemen sintaks motion_mode mungkin ada. Bidang ini sesuai dengan elemen sintaksis bernama allow_warped_motion dari spesifikasi AV1.
coding.dual_filter
Ketika sama dengan 1, menunjukkan bahwa jenis filter prediksi inter dapat ditentukan secara independen dalam arah horizontal dan vertikal; jika tidak, hanya satu jenis filter yang dapat ditentukan. Bidang ini sesuai dengan elemen sintaks bernama enable_dual_filter dari spesifikasi AV1.
coding.jnt_comp
Ketika sama dengan 1, menunjukkan bahwa proses bobot jarak dapat digunakan untuk prediksi inter. Bidang ini sesuai dengan elemen sintaks bernama enable_jnt_comp dari spesifikasi AV1.
coding.screen_content_tools
Ketika sama dengan 1, menunjukkan bahwa blok intra dapat menggunakan pengodean palet; jika tidak, pengodean palet tidak akan digunakan. Bidang ini sesuai dengan elemen sintaksis bernama allow_screen_content_tools dari spesifikasi AV1.
coding.integer_mv
Ketika sama dengan 1, menunjukkan bahwa vektor gerakan akan selalu menjadi bilangan bulat. Bidang ini sesuai dengan elemen sintaks bernama force_integer_mv dari spesifikasi AV1.
coding.cdef
Ketika sama dengan 1, menunjukkan bahwa pemfilteran Filter Peningkatan Arah Terkendala (CDEF) dapat diaktifkan. Bidang ini sesuai dengan elemen sintaks bernama enable_cdef dari spesifikasi AV1.
coding.restoration
Jika sama dengan 1, menunjukkan bahwa pemfilteran pemulihan perulangan dapat diaktifkan. Bidang ini sesuai dengan elemen sintaksis bernama enable_restoration dari spesifikasi AV1.
coding.film_grain
Ketika sama dengan 1, menunjukkan bahwa pemrosesan biji-bijian film dapat diaktifkan. Bidang ini sesuai dengan elemen sintaks bernama film_grain_params_present dari spesifikasi AV1.
coding.intrabc
Ketika sama dengan 1, menunjukkan bahwa salinan blok intra dapat digunakan. Bidang ini sesuai dengan elemen sintaks bernama allow_intrabc dari spesifikasi AV1.
coding.high_precision_mv
Ketika sama dengan 1, menunjukkan bahwa vektor gerakan ditentukan untuk presisi pel kedelapan; jika tidak, vektor gerakan ditentukan untuk presisi triwulanan. Bidang ini sesuai dengan elemen sintaksis bernama allow_high_precision_mv dari spesifikasi AV1.
coding.switchable_motion_mode
Ketika sama dengan 1, menunjukkan bahwa hanya mode gerakan SIMPLE yang dapat digunakan. Bidang ini sesuai dengan elemen sintaksis bernama is_motion_mode_switchable dari spesifikasi AV1.
coding.filter_intra
Jika sama dengan 1, menunjukkan bahwa elemen sintaks use_filter_intra mungkin ada. Bidang ini sesuai dengan elemen sintaks bernama enable_filter_intra dari spesifikasi AV1.
coding.disable_frame_end_update_cdf
Menentukan apakah array CDF disimpan dalam proses keluar dekoder simbol. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
coding.disable_cdf_update
Menentukan apakah pembaruan CDF dalam proses pendekodean simbol harus dinonaktifkan. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
coding.reference_mode
Mengontrol mode yang digunakan untuk prediksi bingkai referensi. Dapat berupa salah satu nilai berikut yang sesuai dengan mode referensi dari proses pendekodean AV1:
reference_mode | Nama reference_mode |
---|---|
0 | SINGLE_REFERENCE |
1 | REFERENCE_MODE_SELECT |
coding.skip_mode
Menunjukkan apakah sintaks mode skip dapat ditentukan dalam prediksi mabung. Bidang ini sesuai dengan elemen sintaks skip_mode_present dari spesifikasi AV1.
coding.reduced_tx_set
Menentukan apakah bingkai menggunakan sekumpulan jenis transformasi terbatas. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
coding.superres
Menentukan apakah bingkai menggunakan resolusi super. Bidang ini sesuai dengan elemen sintaksis bernama use_superres dari spesifikasi AV1.
coding.tx_mode
Menentukan bagaimana ukuran transformasi ditentukan. Bidang ini sesuai dengan variabel dengan nama yang sama dari spesifikasi AV1. Ini dapat mengambil salah satu nilai berikut, seperti yang ditentukan dalam spesifikasi AV1:
Nilai TxMode | Nama TxMode |
---|---|
0 | ONLY_4X4 |
1 | TX_MODE_LARGEST |
2 | TX_MODE_SELECT |
coding.use_ref_frame_mvs
Menentukan apakah vektor gerakan dari bingkai sebelumnya harus digunakan untuk bingkai saat ini. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
coding.enable_ref_frame_mvs
Menentukan apakah use_ref_frame_mvs dinonaktifkan untuk seluruh urutan video; ketika 0 use_ref_frame_mvs juga akan selalu 0. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1 (dari header urutan).
coding.reference_frame_update
Menunjukkan bahwa proses pembaruan bingkai referensi seperti yang ditentukan oleh bagian 7.20 dari spesifikasi AV1 harus dilakukan setelah mendekode bingkai ini. Jika tidak, bagian 7.21 harus dilakukan.
coding.Reserved
Bidang bit yang dicadangkan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
coding.CodingParamToolFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan bendera alat pengkodelan.
format
Berisi format dan informasi gambar.
format.frame_type
Jenis bingkai bingkai saat ini. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dalam spesifikasi AV1 dan memengaruhi proses pendekodean yang sesuai. Nilai yang diizinkan adalah 0, 1, 2 atau 3, untuk empat jenis bingkai AV1: KEY_FRAME, INTER_FRAME, INTRA_ONLY_FRAME, dan S_FRAME.
format.show_frame
Menunjukkan apakah bingkai saat ini dimaksudkan untuk menjadi output dan ditampilkan setelah pendekodean selesai. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dalam spesifikasi AV1 dan memengaruhi proses pendekodean yang sesuai. Di DXVA, ini tidak memiliki efek langsung, karena host mengontrol tampilan bingkai yang didekodekan secara terpisah oleh panggilan fungsi lainnya.
format.showable_frame
Jika sama dengan 1, menentukan bahwa bingkai dapat menjadi output menggunakan mekanisme show_existing_frame; jika tidak sama dengan nol, yang menentukan bahwa bingkai ini tidak akan menjadi output menggunakan mekanisme show_existing_frame.
format.subsampling_x
Bersama dengan subsampling_y, menunjukkan format pengambilan sampel chroma. Lihat Keterangan.
format.subsampling_y
Bersama dengan subsampling_x, menunjukkan format pengambilan sampel chroma. Lihat Keterangan.
format.mono_chrome
Menunjukkan apakah bitstream adalah monokrom. Jika 1 maka hanya pesawat luma yang ada. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari Sintaks Konfigurasi Warna dari spesifikasi AV1. Nilai yang diizinkan dibatasi oleh nilai profil.
format.Reserved
Bidang bit yang dicadangkan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
format.FormatAndPictureInfoFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan format dan info gambar.
primary_ref_frame
Menentukan bingkai referensi mana yang berisi nilai CDF dan status lain yang harus dimuat di awal bingkai. Bidang ini 0x7 ketika tidak ada bingkai referensi utama. Ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
order_hint
Urutan output bingkai saat ini. Sesuai dengan OrderHint dari spesifikasi AV1.
order_hint_bits
Sesuai dengan elemen sintaks bernama order_hint_bits_minus_1 dalam spesifikasi AV1. Bidang ini didefinisikan sebagai: order_hint_bits_minus_1 + 1. Bidang ini akan menjadi 0 ketika enable_order_hint dari spesifikasi AV1 adalah 0.
Ketika nilai ini adalah 0, tidak ada alat berdasarkan OrderHint yang harus digunakan dan nilai order_hint tidak ditentukan. Ketika bukan nol, itu mempengaruhi perhitungan jarak relatif yang sesuai (lihat fungsi get_relative_dist dari spesifikasi AV1).
frame_refs[7]
RefFrameMapTextureIndex[8]
Array permukaan buffer bingkai yang tidak dikompresi. Entri yang tidak akan digunakan untuk mendekode gambar saat ini, atau gambar berikutnya, ditunjukkan dengan mengatur nilai ini ke 0xFF. Jika nilai tidak 0xFF, entri dapat digunakan sebagai permukaan referensi untuk mendekode gambar saat ini atau gambar berikutnya dalam urutan pendekodean.
Semua permukaan yang tidak dikompresi yang sesuai dengan bingkai yang dapat digunakan untuk referensi dalam proses pendekodean gambar saat ini atau gambar berikutnya akan ada dalam array ReframeMapTextureIndex (terlepas dari apakah gambar-gambar ini benar-benar digunakan dalam proses pendekodean bingkai saat ini). Tidak ada urutan tertentu yang ditentukan untuk urutan entri dalam array ReframeMapTextureIndex .
Catatan
Akselerator harus menggunakan konten ReframeMapTextureIndex sebagaimana disediakan oleh akselerator daripada mencoba memperoleh informasi ini dari bitstream (untuk memastikan operasi stateless yang penanganan buffer bingkai yang dikodekan akan dilakukan di bawah kendali host daripada disimpulkan dari bitstream oleh akselerator).
loop_filter
Struktur dengan parameter filter perulangan.
loop_filter.filter_level[2]
Array yang berisi nilai kekuatan filter perulangan. Sesuai dengan elemen sintaks dengan nama yang sama dalam spesifikasi AV1, dan memengaruhi proses pendekodean filter pembatalan yang sesuai. Lihat bidang sharpness_level untuk informasi selengkapnya.
loop_filter.filter_level_u
loop_filter.filter_level_v
loop_filter.sharpness_level
Menunjukkan tingkat ketajaman. Nilai filter_level dan sharpness_level bersama-sama menentukan kapan tepi blok difilter, dan dengan berapa banyak pemfilteran dapat mengubah nilai sampel. Proses filter perulangan dijelaskan dalam bagian 7.14 dari spesifikasi AV1.
loop_filter.DUMMYUNIONNAME
loop_filter.DUMMYUNIONNAME.mode_ref_delta_enabled
Jika sama dengan 1, menunjukkan bahwa tingkat filter bergantung pada mode dan bingkai referensi yang digunakan untuk memprediksi blok. Bidang ini sesuai dengan elemen sintaks bernama loop_filter_delta_enabled dari spesifikasi AV1.
loop_filter.DUMMYUNIONNAME.mode_ref_delta_update
Jika sama dengan 1, menunjukkan bahwa ada elemen sintaks tambahan yang menentukan mode dan delta bingkai referensi mana yang akan diperbarui. Bidang ini sesuai dengan elemen sintaks bernama loop_filter_delta_update dari spesifikasi AV1.
loop_filter.DUMMYUNIONNAME.delta_lf_multi
Jika sama dengan 1, menunjukkan bahwa delta filter perulangan terpisah dikirim untuk tepi luma horizontal, tepi luma vertikal, tepi U, dan tepi V. Bidang ini sesuai dengan elemen sintaks bernama delta_lf_multi dari spesifikasi AV1.
loop_filter.DUMMYUNIONNAME.delta_lf_present
Jika sama dengan 1, menunjukkan bahwa delta filter perulangan ada. Ini diperlukan untuk proses pendekodean filter perulangan: read_delta_lf(). Bidang ini sesuai dengan elemen sintaks bernama delta_lf_present dari spesifikasi AV1.
loop_filter.DUMMYUNIONNAME.Reserved
Bidang bit yang dicadangkan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
loop_filter.DUMMYUNIONNAME.ControlFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan bendera filter perulangan.
loop_filter.ref_deltas[8]
Sesuai dengan elemen sintaks bernama loop_filter_ref_deltas dalam spesifikasi AV1 dan memengaruhi proses pendekodean filter perulangan yang sesuai.
loop_filter.mode_deltas[2]
Sesuai dengan elemen sintaks bernama loop_filter_mode_deltas dalam spesifikasi AV1 dan memengaruhi proses pendekodean filter perulangan yang sesuai.
loop_filter.delta_lf_res
Shift kiri yang harus diterapkan ke nilai delta filter loop yang didekodekan. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
loop_filter.frame_restoration_type[3]
Mode pemulihan perulangan untuk bingkai ini. Bidang ini sesuai dengan elemen sintaks FrameRestorationType dari spesifikasi AV1. Ini bisa menjadi salah satu dari yang berikut ini, yang merupakan nilai yang sama seperti yang ditentukan dalam spesifikasi AV1:
FrameRestorationType | Nama FrameRestorationType |
---|---|
0 | RESTORE_NONE |
1 | RESTORE_WIENER |
2 | RESTORE_SGRPROJ |
3 | RESTORE_SWITCHABLE |
loop_filter.log2_restoration_unit_size[3]
Ukuran log2 unit pemulihan perulangan dalam satuan sampel di bidang saat ini. Elemen 0 sesuai dengan bidang luma, elemen 1 ke bidang U dan elemen 2 ke bidang V. Bidang ini sesuai dengan variabel log2(LoopRestorationSize[plane]) dari spesifikasi AV1.
loop_filter.Reserved16Bits
Bidang bit yang dicadangkan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
quantization
Berisi informasi kuantisasi.
quantization.DUMMYUNIONNAME
quantization.DUMMYUNIONNAME.delta_q_present
Menentukan apakah nilai delta indeks quantizer ada. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
quantization.DUMMYUNIONNAME.delta_q_res
Shift kiri, yang harus diterapkan ke nilai delta indeks kuantizer yang didekodekan. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
quantization.DUMMYUNIONNAME.Reserved
Bidang bit yang dipesan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
quantization.DUMMYUNIONNAME.ControlFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan kuantisasi.
quantization.base_qindex
Menunjukkan qindex bingkai dasar. Bidang ini sesuai dengan elemen sintaksis bernama base_q_idx dari spesifikasi AV1.
quantization.y_dc_delta_q
Kuantizer Y DC relatif terhadap base_qindex. Bidang ini sesuai dengan DeltaQYDc dari spesifikasi AV1.
quantization.u_dc_delta_q
Pengukur U DC relatif terhadap base_qindex. Bidang ini sesuai dengan DeltaQUDc dari spesifikasi AV1.
quantization.v_dc_delta_q
Kuantizer V DC relatif terhadap base_qindex. Bidang ini sesuai dengan DeltaQVDc dari spesifikasi AV1.
quantization.u_ac_delta_q
Kuantizer AC U relatif terhadap base_qindex. Bidang ini sesuai dengan DeltaQUAc dari spesifikasi AV1.
quantization.v_ac_delta_q
Kuantizer AC V relatif terhadap base_qindex. Bidang ini sesuai dengan DeltaQVAc dari spesifikasi AV1.
quantization.qm_y
Tingkat dalam matriks kuantizer yang harus digunakan untuk decoding bidang luma. Ketika tidak ditentukan (using_qmatrix=0), bidang ini akan 0xFF (yang merupakan tingkat matriks kuantizer yang tidak valid). Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
quantization.qm_u
Tingkat dalam matriks kuantizer yang harus digunakan untuk decoding U-plane. Ketika tidak ditentukan (using_qmatrix=0), bidang ini akan 0xFF (yang merupakan tingkat matriks kuantizer yang tidak valid). Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
quantization.qm_v
Tingkat dalam matriks kuantizer yang harus digunakan untuk decoding bidang V. Ketika tidak ditentukan (using_qmatrix=0), bidang ini akan 0xFF (yang merupakan tingkat matriks kuantizer yang tidak valid). Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
quantization.Reserved16Bits
Dicadangkan.
cdef
Parameter filter peningkatan arah (CDEF) yang dibatasi.
cdef.DUMMYUNIONNAME
cdef.DUMMYUNIONNAME.damping
Mengontrol jumlah peredam dalam filter turunan. Bidang ini sesuai dengan variabel bernama cdef_damping_minus_3 dari spesifikasi AV1.
cdef.DUMMYUNIONNAME.bits
Jumlah bit yang digunakan untuk memberi sinyal pengaturan filter CDEF. Bidang ini sesuai dengan elemen sintaksis bernama cdef_bits dari spesifikasi AV1.
cdef.DUMMYUNIONNAME.Reserved
Bidang bit yang dipesan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
cdef.DUMMYUNIONNAME.ControlFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan parameter CDEF.
cdef.primary
Kekuatan filter utama untuk saluran y. Bidang ini sesuai dengan cdef_y_pri_strength dari spesifikasi AV1.
cdef.secondary
Kekuatan filter sekunder untuk saluran y. Bidang ini sesuai dengan cdef_y_sec_strength dari spesifikasi AV1.
cdef.combined
Menyediakan cara alternatif untuk mengakses bit primer dan sekunder y_strengths.
cdef.y_strengths[8]
Kekuatan filter primer dan sekunder untuk saluran y.
cdef.uv_strengths[8]
Kekuatan filter primer dan sekunder untuk uv-channels. Ini sesuai dengan elemen sintaks cdef_uv_pri_strength, dan cdef_uv_sec_strength dari spesifikasi AV1.
interp_filter
Sesuai dengan elemen sintaks yang sama dengan nama yang sama dalam spesifikasi AV1 dan memengaruhi proses pendekodean interpolasi kompensasi gerakan yang sesuai. Tabel di bawah ini memperlihatkan kemungkinan nilai interp_filter.
Nilai | Jenis filter |
---|---|
0 | normal 8-tap |
1 | halus 8-tap |
2 | tajam 8 ketukan |
3 | bilinear |
4 | semua filter |
segmentation
Parameter segmentasi.
segmentation.DUMMYUNIONNAME
segmentation.DUMMYUNIONNAME.enabled
Ketika sama dengan 1, menunjukkan bahwa bingkai ini menggunakan alat segmentasi. Bidang ini sesuai dengan elemen sintaksis bernama segmentation_enabled dari spesifikasi AV1.
segmentation.DUMMYUNIONNAME.update_map
Ketika sama dengan 1, menunjukkan bahwa peta segmentasi diperbarui selama pendekodean bingkai ini. Bidang ini sesuai dengan elemen sintaksis bernama segmentation_update_map dari spesifikasi AV1.
segmentation.DUMMYUNIONNAME.update_data
Jika sama dengan 1, menunjukkan bahwa parameter baru disediakan untuk setiap segmen. Bidang ini sesuai dengan elemen sintaks bernama segmentation_update_data dari spesifikasi AV1.
segmentation.DUMMYUNIONNAME.temporal_update
Jika sama dengan 1, menunjukkan bahwa pembaruan pada peta segmentasi dikodekan relatif terhadap peta segmentasi yang ada. Bidang ini sesuai dengan elemen sintaks bernama segmentation_temporal_update dari spesifikasi AV1.
segmentation.DUMMYUNIONNAME.Reserved
Bidang bit yang dipesan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
segmentation.DUMMYUNIONNAME.ControlFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan segmentasi.
segmentation.Reserved24Bits[3]
Dicadangkan.
segmentation.alt_q
segmentation.alt_lf_y_v
segmentation.alt_lf_y_h
segmentation.alt_lf_u
segmentation.alt_lf_v
segmentation.ref_frame
segmentation.skip
segmentation.globalmv
segmentation.mask
segmentation.feature_mask[8]
Menentukan fitur data segmen mana yang diperbarui dalam bingkai ini. Bidang ini sesuai dengan elemen sintaks feature_enabled dari spesifikasi AV1.
segmentation.feature_data[8]
Menentukan nilai fitur segmentasi. Bidang ini sesuai dengan elemen sintaks feature_value dari spesifikasi AV1.
film_grain
Parameter butir film.
film_grain.DUMMYUNIONNAME
film_grain.DUMMYUNIONNAME.apply_grain
Ketika sama dengan 1, menunjukkan bahwa butir film harus ditambahkan ke bingkai ini. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.scaling_shift_minus8
Shift -8 diterapkan ke nilai komponen chroma. Bidang ini sesuai dengan elemen sintaks bernama grain_scaling_minus8 dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.chroma_scaling_from_luma
Ketika sama dengan 1, menentukan bahwa penskalaan klorma disimpulkan dari penskalaan luma. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.ar_coeff_lag
Jumlah koefisien regresif otomatis untuk luma dan klorma. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.ar_coeff_shift_minus6
Rentang koefisien regresif otomatis. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.grain_scale_shift
Menentukan berapa banyak angka acak Gaussia yang harus diturunkan skalanya selama proses sintesis biji-bijian. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.overlap_flag
Ketika sama dengan 1, menunjukkan bahwa tumpang tindih antara blok butir film harus diterapkan. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.DUMMYUNIONNAME.clip_to_restricted_range
Jika sama dengan 1, menunjukkan bahwa kliping ke rentang (studio) terbatas harus diterapkan ke nilai sampel setelah menambahkan butir film (lihat semantik untuk color_range untuk penjelasan ayunan studio). Jika sama dengan 0, menunjukkan bahwa kliping ke rentang penuh harus diterapkan ke nilai sampel setelah menambahkan butir film.
film_grain.DUMMYUNIONNAME.matrix_coeff_is_identity
film_grain.DUMMYUNIONNAME.Reserved
Bidang bit yang dipesan untuk menyelesaikan struktur yang dikemas. Harus diatur ke 0. Akselerator harus mengabaikan nilai dalam bidang bit yang dipesan.
film_grain.DUMMYUNIONNAME.ControlFlags
Menyediakan cara alternatif untuk mengakses bidang bit yang terkait dengan biji-bijian film.
film_grain.grain_seed
Nilai awal untuk generator angka pseudo-random yang digunakan untuk sintesis butir film. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.scaling_points_y[14]
Mewakili koordinat x,y untuk fungsi penskalaan linear sepotong untuk bidang-y. Ini adalah array 2D, pada setiap segmen piecewise nilai pertama yang ditentukan adalah koordinat x (nilai luma) dan nilai kedua adalah nilai penskalaan (y, output). Bidang ini sesuai dengan elemen sintaks point_y_value dari spesifikasi AV1.
film_grain.num_y_points
Jumlah segmen sepotong yang valid yang ditentukan dalam scaling_points_y. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.scaling_points_cb[10]
Mewakili koordinat x,y untuk fungsi penskalaan linear sepotong untuk bidang cb. Ini adalah array 2D, pada setiap segmen piecewise nilai pertama yang ditentukan adalah koordinat x (nilai luma) dan nilai kedua adalah nilai penskalaan (y, output). Bidang ini sesuai dengan elemen sintaks point_cb_value dari spesifikasi AV1.
film_grain.num_cb_points
Jumlah segmen sepotong yang valid yang ditentukan dalam scaling_points_cb. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.scaling_points_cr[10]
Mewakili koordinat x,y untuk fungsi penskalaan linear sepotong untuk bidang-cr. Ini adalah array 2D, pada setiap segmen piecewise nilai pertama yang ditentukan adalah koordinat x (nilai luma) dan nilai kedua adalah nilai penskalaan (y, output). Bidang ini sesuai dengan elemen sintaks point_cr_value dari spesifikasi AV1.
film_grain.num_cr_points
Jumlah segmen sepotong yang valid yang ditentukan dalam scaling_points_cr. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.ar_coeffs_y[24]
Koefisien regresif otomatis untuk bidang Y. Bidang ini sesuai dengan elemen sintaks ar_coeffs_y_plus_128 dari spesifikasi AV1.
film_grain.ar_coeffs_cb[25]
Koefisien regresif otomatis untuk bidang U. Bidang ini sesuai dengan elemen sintaks ar_coeffs_cb_plus_128 dari spesifikasi AV1.
film_grain.ar_coeffs_cr[25]
Koefisien regresif otomatis untuk bidang V. Bidang ini sesuai dengan elemen sintaks ar_coeffs_cr_plus_128 dari spesifikasi AV1.
film_grain.cb_mult
Pengali untuk komponen Cb yang digunakan dalam turunan indeks input ke fungsi penskalaan komponen. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.cb_luma_mult
Pengali yang digunakan untuk komponen luma ke dalam fungsi penskalaan komponen Cb. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.cr_mult
Pengali untuk komponen Cr yang digunakan dalam turunan indeks input ke fungsi penskalaan komponen. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.cr_luma_mult
Pengali yang digunakan untuk komponen luma ke dalam fungsi penskalaan komponen Cr. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.Reserved8Bits
Dicadangkan.
film_grain.cb_offset
Offset yang digunakan dalam turunan indeks input ke fungsi penskalaan komponen Cb. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
film_grain.cr_offset
Offset yang digunakan dalam turunan indeks input ke fungsi penskalaan komponen Cr. Bidang ini sesuai dengan elemen sintaks dengan nama yang sama dari spesifikasi AV1.
Reserved32Bits
Dicadangkan.
StatusReportFeedbackNumber
Nomor arbitrer yang diatur oleh dekoder host untuk digunakan sebagai tag dalam data umpan balik laporan status. Nilai tidak boleh sama dengan 0, dan harus berbeda dalam setiap panggilan ke Jalankan. Untuk informasi selengkapnya, lihat bagian Struktur Data Laporan Status di Spesifikasi Akselerasi Video Direct X untuk Pengkodian Video AV1.
Keterangan
Jika lebar dan tinggi diturunkan untuk bingkai (misalnya melalui frame_size_override_flag), dekoder host akan memperoleh nilai yang sesuai dan menyimpan hasilnya di bidang ini. Jika superres diaktifkan, nilai-nilai ini mewakili resolusi bingkai pasca-skala (disebut dalam spesifikasi AV1 sebagai UpscaledWidth).
Nilai subsampling_x dan subsampling_y yang diizinkan dibatasi oleh nilai profil. Tabel berikut menentukan nilai yang diizinkan untuk subsampling_x dan subsampling_y, dan format klorma terkait.
subsampling_x | subsampling_y | Format Chroma |
---|---|---|
1 | 1 | 4:2:0 |
1 | 0 | 4:2:2 |
0 | 0 | 4:4:4 |
Lihat Spesifikasi Akselerasi Video Direct X untuk Pengodean Video AV1 untuk informasi terperinci, termasuk cara menggunakan struktur ini.
Persyaratan
Persyaratan | Nilai |
---|---|
Server minimum yang didukung | Windows Server 2022 |
Header | dxva.h |