次の方法で共有


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_levelsharpness_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_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
Header dxva.h