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
スーパーレスが有効になっている場合、このフィールドは、更新されたフレーム幅を計算するための分母を指定します。 これは、AV1 仕様の SuperresDenom 値に対応します。 スーパーレスが有効になっていない場合、この値は 8 になります。
bitdepth
luma およびクロマデコードされたサンプルのビット深度。 許可される値は、プロファイル値によって制限されます。
seq_profile
AV1 ビットストリームのプロファイル。 これは、構文要素 seq_profile に対応します。 AV1 ビデオ コーディング形式は、次のプロファイルを定義します。
プロファイル | 意味 |
---|---|
プロファイル 0 | 4:2:0 のクロマ サンプリングと、サンプルおよびモノクロ形式ごとに 8 ビットまたは 10 ビットをサポートします。 |
プロファイル 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 に等しい場合は、スーパーブロックに 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 種類 (KEY_FRAME、INTER_FRAME、INTRA_ONLY_FRAME、S_FRAME) に使用できる値は 0、1、2、または 3 です。
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 の場合、ルマ平面のみが存在します。 このフィールドは、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 はルマ平面に対応し、要素 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
ルマ平面のデコードに使用する量子化行列のレベル。 指定されていない場合 (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 チャネルの 1 次フィルターと 2 次フィルターの強度。
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 に等しい場合、彩度スケーリングがルマスケーリングから推論されることを指定します。 このフィールドは、AV1 仕様の同じ名前の構文要素に対応します。
film_grain.DUMMYUNIONNAME.ar_coeff_lag
ルマと彩度の自動回帰係数の数。 このフィールドは、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
Cr コンポーネントスケーリング関数への luma コンポーネントに使用される乗数。 このフィールドは、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 |
Header | dxva.h |