DXVA_PicParams_AV1結構 (dxva.h)
DXVA_PicParams_AV1 結構提供AV1視訊譯碼之壓縮圖片的圖片層級參數。
語法
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_1541_60 y_strengths[8];
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_1541_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_1541_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;
成員
width
目前框架的自動程式代碼寬度。 對應至frame_width_minus_1語法專案。 請參閱<備註>。
height
目前框架的自動程序代碼高度。 對應至frame_height_minus_1語法專案。 請參閱<備註>。
max_width
max_height
CurrPicTextureIndex
已譯碼圖片的目的地框架緩衝區/表面索引。
superres_denom
啟用 superres 時,此字段會指定計算更新框架寬度的分母。 這會對應至AV1規格中的 SuperresDenom 值。 未啟用 superres 時,此值應為 8。
bitdepth
luma 和 chroma 譯碼樣本的位深度。 允許的值受限於配置檔值。
seq_profile
AV1 位數據流的配置檔。 這會對應至語法專案:seq_profile。 AV1 視訊編碼格式會定義下列設定檔:
設定檔 | 意義 |
---|---|
配置檔 0 | 支援每個樣本和單色格式 8 或 10 位的 4:2:0 chroma 取樣。 |
配置檔 1 | 支援每個樣本 8 或 10 位的 4:4:4 色色取樣。 |
配置檔 2 | 支援 4:2:0、4:2:2 或 4:4:4 的色度取樣,每個樣本和單色格式 8、10 或 12 位。 |
tiles
包含磚專屬的資訊。
tiles.cols
框架的圖格數目。 此字段對應至AV1規格中的2^TileColsLog2。
tiles.rows
圖格向下圖格的數目。 此字段對應至AV1規格中的2^TileRowsLog2。
tiles.context_update_id
指定要用於CDF更新的磚。 這對應於AV1規格中名為 context_update_tile_id的語法專案。
tiles.widths[64]
每一個磚的寬度,以分頁鎖為單位。 只有前 2^cols_log2寬度專案有效。 此欄位會對應至AV1規格中的 tileWidthSb 變數。
tiles.heights[64]
每一個磚的高度,單位為水鎖。 只有前 2^rows_log2高度專案有效。 此欄位會對應至AV1規格中的 tileHeightSb 變數。
coding
程式代碼撰寫工具。
coding.use_128x128_superblock
等於 1 時,表示同步鎖定包含 128x128 luma 範例;否則,就會有 64x64 luma 範例。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
coding.intra_edge_filter
指定是否應該啟用邊緣篩選程式。 此欄位會對應至 AV1 規格中名為 enable_intra_edge_filter 的語法專案。
coding.interintra_compound
等於 1 時,表示 inter 區塊的模式資訊可能包含語法元素 interintra;否則,將不會顯示 Interintra 語法元素。 此欄位會對應至 AV1 規格中名為 enable_interintra_compound 的語法專案。
coding.masked_compound
等於 1 時,表示 inter 區塊的模式資訊可能包含語法元素compound_type;否則,將不會顯示compound_type語法元素。 此欄位會對應至 AV1 規格中名為 enable_masked_compound 的語法專案。
coding.warped_motion
等於 1 時,表示語法元素可能存在motion_mode。 此欄位會對應至 AV1 規格中名為 allow_warped_motion 的語法專案。
coding.dual_filter
等於 1 時,表示可以在水平和垂直方向中獨立指定預測篩選類型;否則,只能指定一個篩選類型。 此欄位會對應至 AV1 規格中名為 enable_dual_filter 的語法專案。
coding.jnt_comp
等於 1 時,表示距離權數程式可用於預測間。 此欄位會對應至 AV1 規格中名為 enable_jnt_comp 的語法專案。
coding.screen_content_tools
等於 1 時,表示內部區塊可能會使用調色盤編碼;否則,將不會使用調色盤編碼。 此欄位會對應至 AV1 規格中名為 allow_screen_content_tools 的語法專案。
coding.integer_mv
等於 1 時,表示動作向量一律為整數。 此欄位會對應至 AV1 規格中名為 force_integer_mv 的語法專案。
coding.cdef
等於 1 時,表示可能會啟用限制方向增強篩選 (CDEF) 篩選。 此欄位會對應至 AV1 規格中名為 enable_cdef 的語法專案。
coding.restoration
等於 1 時,表示可能會啟用迴圈還原篩選。 此欄位會對應至 AV1 規格中名為 enable_restoration 的語法專案。
coding.film_grain
等於 1 時,表示可能會啟用電影粒紋處理。 此欄位會對應至 AV1 規格中名為 film_grain_params_present 的語法專案。
coding.intrabc
等於 1 時,表示可以使用內部區塊複製。 此欄位會對應至 AV1 規格中名為 allow_intrabc 的語法專案。
coding.high_precision_mv
等於 1 時,表示動作向量指定為第八個拼字精確度;否則,動作向量會指定為四分之一的拼字精確度。 此欄位對應至 AV1 規格中名為 allow_high_precision_mv 的語法專案。
coding.switchable_motion_mode
等於 1 時,表示只能使用 SIMPLE 動作模式。 此欄位會對應至 AV1 規格中名為 is_motion_mode_switchable 的語法專案。
coding.filter_intra
等於 1 時,表示use_filter_intra語法元素可能存在。 此欄位會對應至 AV1 規格中名為 enable_filter_intra 的語法專案。
coding.disable_frame_end_update_cdf
指定CDF數位是否儲存在符號譯碼器結束程式中。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
coding.disable_cdf_update
指定是否應該停用符號譯碼程式中的CDF更新。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
coding.reference_mode
控制用於參考畫面預測的模式。 可以是下列其中一個值,這些值會與AV1譯碼程序的參考模式對應:
reference_mode | reference_mode的名稱 |
---|---|
0 | SINGLE_REFERENCE |
1 | REFERENCE_MODE_SELECT |
coding.skip_mode
指出是否可以在複合預測中指定skip模式語法。 此欄位會對應至 AV1 規格中的skip_mode_present語法元素。
coding.reduced_tx_set
指定框架是否使用一組受限制的轉換類型。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
coding.superres
指定框架是否使用超解析度。 此欄位會對應至 AV1 規格中名為 use_superres 的語法專案。
coding.tx_mode
指定如何決定轉換大小。 此欄位會對應至 AV1 規格中相同名稱的變數。 它可能需要下列其中一個值,如AV1規格中所指定:
TxMode 值 | TxMode 的名稱 |
---|---|
0 | ONLY_4X4 |
1 | TX_MODE_LARGEST |
2 | TX_MODE_SELECT |
coding.use_ref_frame_mvs
指定上一個畫面格的動作向量是否應該用於目前的框架。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
coding.enable_ref_frame_mvs
指定是否針對整個視訊序列停用use_ref_frame_mvs;當 0 use_ref_frame_mvs一律為 0 時。 此欄位會對應至序列標頭) 中AV1規格中相同名稱的語法專案 (。
coding.reference_frame_update
指出在譯碼此框架之後,應該執行AV1規格第7.20節所指定的參考畫面更新程式。 否則應該執行第 7.21 節。
coding.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
coding.CodingParamToolFlags
提供替代方式來存取與編碼工具旗標相關的位欄位元。
format
包含格式和圖片資訊。
format.frame_type
目前框架的框架類型。 此欄位對應至 AV1 規格中相同名稱的語法元素,並據以影響譯碼程式。 允許的值為 0、1、2 或 3,適用於四種類型的 AV1 畫面:KEY_FRAME、INTER_FRAME、INTRA_ONLY_FRAME和S_FRAME。
format.show_frame
指出目前的畫面是否要輸出,並在譯碼完成後顯示。 此欄位對應至 AV1 規格中相同名稱的語法元素,並據以影響譯碼程式。 在 DXVA 中,這沒有任何直接作用,因為主控件會透過其他函式呼叫個別控制譯碼畫面的顯示。
format.showable_frame
等於 1 時,指定可以使用show_existing_frame機制輸出框架;否則等於零,指定此框架不會使用show_existing_frame機制輸出。
format.subsampling_x
與 subsampling_y一起,表示色度取樣格式。 請參閱<備註>。
format.subsampling_y
與 subsampling_x一起,表示色度取樣格式。 請參閱<備註>。
format.mono_chrome
指出 bitstream 是否為單色。 如果為 1,則只有 luma 平面存在。 此欄位會對應至 AV1 規格色彩設定語法中相同名稱的語法專案。 允許的值受限於配置檔值。
format.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
format.FormatAndPictureInfoFlags
提供替代方式來存取與格式和圖片信息相關的位欄位。
primary_ref_frame
指定哪個參考框架包含CDF值,以及應該在框架開頭載入的其他狀態。 沒有主要參考框架時,此欄位會0x7。 它會對應至AV1規格中相同名稱的語法專案。
order_hint
目前框架的輸出順序。 對應至AV1規格中的OrderHint。
order_hint_bits
對應至AV1規格中名為 order_hint_bits_minus_1的語法專案。 此欄位定義為:order_hint_bits_minus_1 + 1。 當AV1規格enable_order_hint為0時,此欄位會是0。
當此值為 0 時,不應該使用以 OrderHint 為基礎的工具,而且未定義order_hint的值。 當非零時,它會影響相對距離的計算, (從AV1規格) 查看函式get_relative_dist。
frame_refs[7]
RefFrameMapTextureIndex[8]
未壓縮框架緩衝區介面的陣列。 不會用於譯碼目前圖片或任何後續圖片的專案,會藉由將此值設定為 0xFF 來表示。 如果值不是0xFF,專案可能會用來譯碼目前圖片或後續圖片的譯碼順序。
所有對應至可能用於目前圖片譯碼程式中參考之畫面或後續圖片的所有未壓縮表面,都應該出現在 RefFrameMapTextureIndex 陣組中 (不論這些圖片是否實際用於目前畫面) 譯碼程式中。 未針對 RefFrameMapTextureIndex 陣列中的專案排序指定任何特定順序。
注意
加速器必須使用快捷鍵所提供的 RefFrameMapTextureIndex 內容,而不是嘗試從 bitstream (衍生此資訊,以確保譯碼的框架緩衝區處理是在主機控制下執行的無狀態作業,而不是由快捷鍵) 從 bitstream 推斷。
loop_filter
具有迴圈篩選參數的結構。
loop_filter.filter_level[2]
包含迴圈篩選強度值的陣列。 對應至AV1規格中相同名稱的語法元素,並據以影響解除封鎖篩選的譯碼程式。 如需詳細資訊 ,請參閱sharpness_level 欄位。
loop_filter.filter_level_u
loop_filter.filter_level_v
loop_filter.sharpness_level
表示尖角等級。 filter_level和sharpness_level值一起決定區塊邊緣的篩選時間,以及篩選可以變更樣本值的程度。 循環篩選程式會在AV1規格的7.14節中說明。
loop_filter.DUMMYUNIONNAME
loop_filter.DUMMYUNIONNAME.mode_ref_delta_enabled
等於 1 時,表示篩選層級取決於用來預測區塊的模式和參考框架。 此欄位會對應至 AV1 規格中名為 loop_filter_delta_enabled 的語法專案。
loop_filter.DUMMYUNIONNAME.mode_ref_delta_update
等於 1 時,表示存在其他語法元素,以指定要更新的模式和參考畫面差異。 此欄位會對應至 AV1 規格中名為 loop_filter_delta_update 的語法專案。
loop_filter.DUMMYUNIONNAME.delta_lf_multi
等於 1 時,表示會針對水準 luma 邊緣、垂直 luma 邊緣、U 邊緣和 V 邊緣傳送個別循環篩選差異。 此欄位會對應至 AV1 規格中名為 delta_lf_multi 的語法專案。
loop_filter.DUMMYUNIONNAME.delta_lf_present
等於 1 時,表示循環篩選差異存在。 迴圈篩選譯碼程式需要此專案:read_delta_lf () 。 此欄位會對應至 AV1 規格中名為 delta_lf_present 的語法專案。
loop_filter.DUMMYUNIONNAME.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
loop_filter.DUMMYUNIONNAME.ControlFlags
提供替代方式來存取與迴圈篩選旗標相關的位欄位。
loop_filter.ref_deltas[8]
對應至AV1規格中名為 loop_filter_ref_deltas的語法元素,並據以影響迴圈篩選的譯碼程式。
loop_filter.mode_deltas[2]
對應至AV1規格中名為 loop_filter_mode_deltas的語法元素,並據以影響迴圈篩選的譯碼程式。
loop_filter.delta_lf_res
應該套用至譯碼迴圈篩選差異值的左移。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
loop_filter.frame_restoration_type[3]
此畫面的迴圈還原模式。 此欄位會對應至 AV1 規格中的 FrameRestorationType 語法元素。 它可以是下列其中一項,這些值與 AV1 規格中指定的值相同:
FrameRestorationType | FrameRestorationType 的名稱 |
---|---|
0 | RESTORE_NONE |
1 | RESTORE_WIENER |
2 | RESTORE_SGRPROJ |
3 | RESTORE_SWITCHABLE |
loop_filter.log2_restoration_unit_size[3]
迴圈還原單位的log2大小,以目前平面中的樣本單位為單位。 元素 0 會對應至 luma 平面,元素 1 對應至 U 平面,而元素 2 則對應至 V 平面。 此欄位會對應至AV1規格中的log2 (LoopRestorationSize[plane]) 變數。
loop_filter.Reserved16Bits
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
quantization
包含量化資訊。
quantization.DUMMYUNIONNAME
quantization.DUMMYUNIONNAME.delta_q_present
指定量子化程式索引差異值是否存在。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
quantization.DUMMYUNIONNAME.delta_q_res
左移,應該套用至譯碼的量化器索引差異值。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
quantization.DUMMYUNIONNAME.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
quantization.DUMMYUNIONNAME.ControlFlags
提供替代方式來存取與量化相關的位欄位元。
quantization.base_qindex
表示基底框架 qindex。 此欄位會對應至 AV1 規格中名為 base_q_idx 的語法專案。
quantization.y_dc_delta_q
相對於 base_qindex的 Y DC 量子化程式。 此欄位對應至 AV1 規格中的 DeltaQYDc。
quantization.u_dc_delta_q
相對於base_qindex的U DC 量子化程式。 此欄位對應至 AV1 規格中的 DeltaQUDc。
quantization.v_dc_delta_q
相對於base_qindex的 V DC 量子化程式。 此欄位對應至 AV1 規格中的 DeltaQVDc。
quantization.u_ac_delta_q
相對於base_qindex的U AC量子化程式。 此欄位會對應至 AV1 規格中的 DeltaQUAc。
quantization.v_ac_delta_q
相對於base_qindex的 V AC 量子化程式。 此欄位對應至 AV1 規格中的 DeltaQVAc。
quantization.qm_y
量化器矩陣中應該用於 luma 平面譯碼的層級。 未指定 (using_qmatrix=0) 時,此欄位將會0xFF (,這是無效的量子化程式矩陣層級) 。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
quantization.qm_u
應該用於U平面譯碼的量化器矩陣中的層級。 未指定 (using_qmatrix=0) 時,此欄位將會0xFF (,這是無效的量子化程式矩陣層級) 。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
quantization.qm_v
應該用於 V 平面譯碼的量化器矩陣中的層級。 未指定 (using_qmatrix=0) 時,此欄位將會0xFF (,這是無效的量子化程式矩陣層級) 。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
quantization.Reserved16Bits
保留的。
cdef
CDEF) 參數 (限制方向增強篩選。
cdef.DUMMYUNIONNAME
cdef.DUMMYUNIONNAME.damping
控制 dering 篩選條件中的減去量。 此欄位會對應至 AV1 規格中名為 cdef_damping_minus_3 的變數。
cdef.DUMMYUNIONNAME.bits
用來發出 CDEF 篩選設定訊號的位數目。 此欄位會對應至 AV1 規格中名為 cdef_bits 的語法專案。
cdef.DUMMYUNIONNAME.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
cdef.DUMMYUNIONNAME.ControlFlags
提供替代方式來存取與 CDEF 參數位的欄位元。
cdef.primary
y 通道的主要篩選強度。 此欄位會對應至 AV1 規格中的cdef_y_pri_strength。
cdef.secondary
y 通道的次要篩選強度。 此欄位會對應至 AV1 規格中的cdef_y_sec_strength。
cdef.combined
提供替代方式來存取y_strengths主要和次要位。
cdef.y_strengths[8]
y 通道的主要和次要篩選強度。
cdef.uv_strengths[8]
uv 通道的主要和次要篩選強度。 這對應於AV1規格中的cdef_uv_pri_strength和cdef_uv_sec_strength語法元素。
interp_filter
對應至AV1規格中相同名稱的相同語法元素,並據以影響動作補償插補的譯碼程式。 下表顯示interp_filter的可能值。
值 | 篩選類型 |
---|---|
0 | 一般 8 點選 |
1 | 平滑 8 點選 |
2 | 尖角 8 點選 |
3 | 雙 |
4 | 所有篩選 |
segmentation
分割參數。
segmentation.DUMMYUNIONNAME
segmentation.DUMMYUNIONNAME.enabled
等於 1 時,表示此畫面會使用分割工具。 此欄位會對應至 AV1 規格中名為 segmentation_enabled 的語法專案。
segmentation.DUMMYUNIONNAME.update_map
等於 1 時,表示分割對應會在譯碼此框架期間更新。 此欄位對應至 AV1 規格中名為 segmentation_update_map 的語法專案。
segmentation.DUMMYUNIONNAME.update_data
等於 1 時,表示會為每個區段提供新的參數。 此欄位會對應至 AV1 規格中名為 segmentation_update_data 的語法專案。
segmentation.DUMMYUNIONNAME.temporal_update
等於 1 時,表示分割對應的更新會相對於現有的分割對應進行編碼。 此欄位會對應至 AV1 規格中名為 segmentation_temporal_update 的語法專案。
segmentation.DUMMYUNIONNAME.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
segmentation.DUMMYUNIONNAME.ControlFlags
提供替代方式來存取與分割相關的位欄位。
segmentation.Reserved24Bits[3]
保留的。
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]
指定此框架中更新哪些區段數據功能。 此欄位會對應至AV1規格feature_enabled語法元素。
segmentation.feature_data[8]
指定分割特徵值。 此欄位會對應至 AV1 規格feature_value語法專案。
film_grain
電影粒紋參數。
film_grain.DUMMYUNIONNAME
film_grain.DUMMYUNIONNAME.apply_grain
等於 1 時,表示應該將電影粒紋新增至此畫面。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.scaling_shift_minus8
移位 -8 套用至 chroma 元件的值。 此欄位會對應至 AV1 規格中名為 grain_scaling_minus8 的語法專案。
film_grain.DUMMYUNIONNAME.chroma_scaling_from_luma
等於 1 時,指定從 luma 縮放比例推斷色度。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.ar_coeff_lag
luma 和 chroma 的自動回歸係數數目。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.ar_coeff_shift_minus6
自動回歸係數的範圍。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.grain_scale_shift
指定在粒紋合成過程中應該相應減少 Gaussian 隨機數多少。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.overlap_flag
等於 1 時,表示應該套用電影粒紋區塊之間的重疊。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.DUMMYUNIONNAME.clip_to_restricted_range
如果等於 1,表示裁剪至受限制的 (Studio) 範圍,在新增電影粒紋之後應該套用至範例值, (請參閱color_range語意,以取得工作室變換) 的說明。 如果等於 0,表示在加入電影粒度之後,應該將裁剪套用至樣本值。
film_grain.DUMMYUNIONNAME.matrix_coeff_is_identity
film_grain.DUMMYUNIONNAME.Reserved
保留的位欄位以完成已封裝的結構。 應設定為 0。 加速器應忽略保留位欄位欄位中的值。
film_grain.DUMMYUNIONNAME.ControlFlags
提供替代方式來存取與電影粒紋相關的位欄位。
film_grain.grain_seed
用於電影粒紋合成之虛擬隨機數產生器的起始值。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.scaling_points_y[14]
表示 y 平面之分次線性縮放函數的 x,y 座標。 這是 2D 陣列,在每個分次區段上,指定的第一個值是 x (luma 值) 座標,而第二個值則是縮放值 (y,輸出) 。 此欄位會對應至 AV1 規格中的point_y_value語法元素。
film_grain.num_y_points
scaling_points_y中指定的有效片段區段數目。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.scaling_points_cb[10]
代表 cb 平面之分次線性縮放函數的 x,y 座標。 這是 2D 陣列,在每個分次區段上,指定的第一個值是 x (luma 值) 座標,而第二個值則是縮放值 (y,輸出) 。 此欄位會對應至 AV1 規格中的point_cb_value語法元素。
film_grain.num_cb_points
scaling_points_cb中指定的有效片段區段數目。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.scaling_points_cr[10]
代表cr-平面之分次線性縮放函數的 x,y 座標。 這是 2D 陣列,在每個分次區段上,指定的第一個值是 x (luma 值) 座標,而第二個值則是縮放值 (y,輸出) 。 此欄位會對應至 AV1 規格中的point_cr_value語法元素。
film_grain.num_cr_points
scaling_points_cr中指定的有效片段區段數目。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.ar_coeffs_y[24]
Y 平面的自動回歸係數。 此欄位會對應至 AV1 規格中的ar_coeffs_y_plus_128語法元素。
film_grain.ar_coeffs_cb[25]
U 平面的自動回歸係數。 此欄位會對應至 AV1 規格中的ar_coeffs_cb_plus_128語法元素。
film_grain.ar_coeffs_cr[25]
V 平面的自動回歸係數。 此欄位會對應至 AV1 規格中的ar_coeffs_cr_plus_128語法元素。
film_grain.cb_mult
用於衍生輸入索引至元件縮放函式之 Cb 元件的乘數。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.cb_luma_mult
用於 luma 元件的乘數至 Cb 元件調整函式。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.cr_mult
用於將輸入索引衍生至元件縮放函式之 Cr 元件的乘數。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.cr_luma_mult
用於 luma 元件的乘數至 Cr 元件縮放函式。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.Reserved8Bits
保留的。
film_grain.cb_offset
用於衍生輸入索引至 Cb 元件縮放函式的位移。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
film_grain.cr_offset
用於衍生輸入索引至 Cr 元件縮放函式的位移。 此欄位會對應至 AV1 規格中相同名稱的語法專案。
Reserved32Bits
保留的。
StatusReportFeedbackNumber
主機譯碼器所設定的任意數位,以做為狀態報告意見反應數據中的標記。 值不應等於 0,而且應該在每個對 Execute 的呼叫中不同。 如需詳細資訊,請參閱 AV1影片編碼的 Direct X 影片加速規格中的狀態報表數據結構一節。
備註
例如,如果 寬度 和 高度 是透過frame_size_override_flag) 来衍生框架 (,則主機譯碼器會衍生適當的值,並將結果儲存在這些欄位中。 如果已啟用 superres ,則這些值代表 AV1 規格中稱為 UpscaledWidth) 的後續縮放畫面解析度 (。
subsampling_x和subsampling_y允許的值會受到配置檔值的限制。 下表指定 subsampling_x 和 subsampling_y的允許值,以及相關聯的色度格式。
subsampling_x | subsampling_y | Chroma 格式 |
---|---|---|
1 | 1 | 4:2:0 |
1 | 0 | 4:2:2 |
0 | 0 | 4:4:4 |
如需詳細資訊,請參閱 AV1視訊編碼的 Direct X 影片加速規格 ,包括如何使用這個結構。
規格需求
需求 | 值 |
---|---|
最低支援的伺服器 | Windows Server 2022 |
標頭 | dxva.h |