次の方法で共有


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_xsubsampling_y の許容値は、プロファイル値によって制限されます。 次の表は、subsampling_xsubsampling_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