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_154d_60 y_strengths[8];
union {
struct {
UCHAR primary : 6;
UCHAR secondary : 2;
};
UCHAR combined;
};
__unnamed_union_154d_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_154d_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
スーパーレスが有効になっている場合、このフィールドは、更新されたフレーム幅を計算するための分母を指定します。 これは、AV1 仕様の SuperresDenom 値に対応します。 スーパーレスが有効になっていない場合、この値は 8 になります。
bitdepth
luma および彩度デコードされたサンプルのビット深度。 使用できる値は、プロファイル値によって制限されます。
seq_profile
AV1 ビットストリームのプロファイル。 これは構文要素 seq_profile に対応します。 AV1 ビデオ コーディング形式は、次のプロファイルを定義します。
プロフィール | 意味 |
---|---|
profile 0 | 4:2:0の彩度サンプリングをサポートし、サンプル形式とモノクロフォーマットごとに8ビットまたは10ビットをサポートします。 |
profile 1 | サンプルあたり 8 ビットまたは 10 ビットの 4:4:4 の彩度サンプリングをサポートします。 |
profile 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 に等しい場合は、スーパーブロックに 128 x 128 luma サンプルが含まれていることを示します。それ以外の場合、スーパーブロックには 64 x 64 の luma サンプルが含まれます。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
coding.intra_edge_filter
エッジ内フィルタリング プロセスを有効にするかどうかを指定します。 このフィールドは、AV1 仕様のenable_intra_edge_filterという名前の構文要素に対応します。
coding.interintra_compound
1 に等しい場合は、ブロック間のモード情報に構文要素 interintra が含まれている可能性があることを示します。それ以外の場合、interintra 構文要素は存在しません。 このフィールドは、AV1 仕様のenable_interintra_compoundという名前の構文要素に対応します。
coding.masked_compound
1 に等しい場合は、ブロック間のモード情報に構文要素compound_typeが含まれている可能性があることを示します。それ以外の場合、compound_type構文要素は存在しません。 このフィールドは、AV1 仕様のenable_masked_compoundという名前の構文要素に対応します。
coding.warped_motion
1 に等しい場合は、構文要素motion_modeが存在する可能性があることを示します。 このフィールドは、AV1 仕様のallow_warped_motionという名前の構文要素に対応します。
coding.dual_filter
1 と等しい場合は、予測フィルターの種類が水平方向と垂直方向に個別に指定されることを示します。それ以外の場合は、フィルターの種類を 1 つだけ指定できます。 このフィールドは、AV1 仕様のenable_dual_filterという名前の構文要素に対応します。
coding.jnt_comp
1 に等しい場合は、距離の重み処理が相互予測に使用される可能性があることを示します。 このフィールドは、AV1 仕様のenable_jnt_compという名前の構文要素に対応します。
coding.screen_content_tools
1 に等しい場合は、intra ブロックがパレット エンコードを使用する可能性があることを示します。それ以外の場合、パレット エンコードは使用されません。 このフィールドは、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 の場合、モーション ベクトルが 8 番目の pel 精度に指定されていることを示します。それ以外の場合、モーション ベクトルは 4 分の 1 の pel 精度に指定されます。 このフィールドは、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
複合予測でスキップ モード構文を指定できるかどうかを示します。 このフィールドは、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 仕様の同じ名前の構文要素に対応し、それに応じてデコード プロセスに影響します。 AV1 フレームの 4 種類の場合、使用できる値は 0、1、2、または 3 です。KEY_FRAME、INTER_FRAME、INTRA_ONLY_FRAME、S_FRAME。
format.show_frame
現在のフレームが出力され、デコードが完了した後に表示されるかどうかを示します。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応し、それに応じてデコード プロセスに影響します。 DXVA では、他の関数呼び出しによってデコードされたフレームの表示がホストによって個別に制御されるため、直接の影響はありません。
format.showable_frame
1 に等しい場合は、show_existing_frame メカニズムを使用してフレームを出力できることを指定します。それ以外の場合は 0 に等しく、このフレームは show_existing_frame メカニズムを使用して出力されないことを指定します。
format.subsampling_x
subsampling_yと共に、彩度サンプリング形式を示します。 「解説」を参照してください。
format.subsampling_y
subsampling_xと共に、彩度サンプリング形式を示します。 「解説」を参照してください。
format.mono_chrome
ビットストリームがモノクロかどうかを示します。 1 の場合は、luma 平面のみが存在します。 このフィールドは、AV1 仕様の Color Config Syntax の同じ名前の構文要素に対応します。 使用できる値は、プロファイル値によって制限されます。
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の値は未定義です。 0 以外の場合は、それに応じて相対距離の計算に影響します (AV1 仕様からの関数get_relative_distを参照)。
frame_refs[7]
RefFrameMapTextureIndex[8]
圧縮されていないフレーム バッファー サーフェスの配列。 現在の図または後続の図のデコードに使用されないエントリは、この値を 0xFF に設定することで示されます。 値が0xFFされていない場合、エントリは、現在の図または後続の図をデコード順序でデコードするための参照サーフェスとして使用できます。
現在の図または後続の図のデコード プロセスで参照に使用できるフレームに対応するすべての非圧縮サーフェスは、RefFrameMapTextureIndex 配列に存在する必要があります (これらの図が現在のフレームのデコード プロセスで実際に使用されているかどうかに関係なく)。 RefFrameMapTextureIndex 配列内のエントリの順序に特定の順序は指定されません。
手記
アクセラレータは、ビットストリームからこの情報を派生させるのではなく、アクセラレータによって提供される RefFrameMapTextureIndex の内容を使用する必要があります (デコードされたフレーム バッファー処理がアクセラレータによってビットストリームから推論されるのではなく、ホストの制御下で実行されるステートレス操作を保証するため)。
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 に等しい場合、水平ルーマ エッジ、垂直ルマ エッジ、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
ダーリング フィルターの減衰量を制御します。 このフィールドは、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 彩度成分の値に適用されます。 このフィールドは、AV1 仕様のgrain_scaling_minus8という名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.chroma_scaling_from_luma
1 に等しい場合は、luma スケーリングから彩度のスケーリングが推論されることを指定します。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.ar_coeff_lag
luma とクロマの自動回帰係数の数。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.ar_coeff_shift_minus6
自動回帰係数の範囲。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.grain_scale_shift
グレイン合成プロセス中にガウス乱数をスケールダウンする量を指定します。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.overlap_flag
1に等しい場合、フィルムグレインブロック間の重なりが適用されることを示す。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.clip_to_restricted_range
1 に等しい場合は、フィルム グレインを追加した後に、制限された (スタジオ) 範囲へのクリッピングがサンプル値に適用されることを示します (スタジオのスイングの説明については、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 値) 座標で、2 番目の値はスケーリング値 (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 値) 座標で、2 番目の値はスケーリング値 (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 値) 座標で、2 番目の値はスケーリング値 (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
Cb コンポーネントスケーリング関数への luma コンポーネントに使用される乗数。 このフィールドは、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 ビデオ アクセラレーション仕様の「Status Report Data Structure」セクションを参照してください。
備考
フレーム 幅高さ が派生している場合 (たとえば、frame_size_override_flagを介して)、ホスト デコーダーは適切な値を派生させ、結果をこれらのフィールドに格納します。 スーパーレス が有効になっている場合、これらの値は後スケールされたフレーム解像度 (AV1 仕様では UpscaledWidth と呼ばれます) を表します。
subsampling_x と subsampling_y の許容値は、プロファイル値によって制限されます。 次の表は、subsampling_x と subsampling_yに使用できる値と、関連する彩度の形式を指定します。
subsampling_x | subsampling_y | 彩度の形式 |
---|---|---|
1 | 1 | 4:2:0 |
1 | 0 | 4:2:2 |
0 | 0 | 4:4:4 |
この構造の使用方法を含む詳細については、AV1 ビデオ コーディング の Direct X ビデオ アクセラレーション仕様を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小サーバー | Windows Server 2022 |
ヘッダー | dxva.h |