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_1573_58 y_strengths[8];
    union {
      struct {
        UCHAR primary : 6;
        UCHAR secondary : 2;
      };
      UCHAR  combined;
    };
    __unnamed_union_1573_60 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_1573_65 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

루마 및 크로마 디코딩 샘플의 비트 깊이입니다. 허용되는 값은 프로필 값으로 제한됩니다.

seq_profile

AV1 비트스트림의 프로필입니다. 구문 요소인 seq_profile 해당합니다. AV1 비디오 코딩 형식은 다음 프로필을 정의합니다.

프로필 의미
프로필 0 샘플 및 단색 형식당 8비트 또는 10비트로 4:2:0 크로마 샘플링을 지원합니다.
프로필 1 샘플당 8비트 또는 10비트로 4:4:4 크로마 샘플링을 지원합니다.
프로필 2 샘플 및 단색 형식당 8, 10 또는 12비트에서 4:2:0, 4:2:2 또는 4:4:4 크로마 샘플링을 지원합니다.

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 루마 샘플이 포함되어 있음을 나타냅니다. 그렇지 않으면 슈퍼 블록에 64x64 루마 샘플이 포함됩니다. 이 필드는 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이면 예측 간 필터 형식이 가로 및 세로 방향으로 독립적으로 지정될 수 있음을 나타냅니다. 그렇지 않으면 필터 형식을 하나만 지정할 수 있습니다. 이 필드는 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과 같으면 동작 벡터가 8번째 골반 정밀도로 지정됨을 나타냅니다. 그렇지 않으면 모션 벡터가 쿼터 골 정밀도로 지정됩니다. 이 필드는 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 사양에서 동일한 이름의 구문 요소에 해당하며 그에 따라 디코딩 프로세스에 영향을 줍니다. 허용되는 값은 KEY_FRAME, INTER_FRAME, INTRA_ONLY_FRAME 및 S_FRAME 네 가지 유형의 AV1 프레임에 대해 0, 1, 2 또는 3입니다.

format.show_frame

디코딩이 완료된 후 현재 프레임이 출력되고 표시될 것인지 여부를 나타냅니다. 이 필드는 AV1 사양에서 동일한 이름의 구문 요소에 해당하며 그에 따라 디코딩 프로세스에 영향을 줍니다. DXVA에서는 호스트가 다른 함수 호출에 의해 디코딩된 프레임의 표시를 별도로 제어하므로 직접적인 효과가 없습니다.

format.showable_frame

1과 같으면 show_existing_frame 메커니즘을 사용하여 프레임을 출력할 수 있도록 지정합니다. 그렇지 않으면 이 프레임이 show_existing_frame 메커니즘을 사용하여 출력되지 않도록 지정하는 0과 같습니다.

format.subsampling_x

subsampling_y 함께 는 크로마 샘플링 형식을 나타냅니다. 설명 부분을 참조하세요.

format.subsampling_y

subsampling_x 함께 은 크로마 샘플링 형식을 나타냅니다. 설명 부분을 참조하세요.

format.mono_chrome

비트 스트림이 단색인지 여부를 나타냅니다. 1이면 루마 평면만 존재합니다. 이 필드는 AV1 사양의 Color Config 구문에서 동일한 이름의 구문 요소에 해당합니다. 허용되는 값은 프로필 값으로 제한됩니다.

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 채널의 기본 및 보조 필터 강도입니다.

cdef.uv_strengths[8]

uv 채널의 기본 및 보조 필터 강도입니다. 이는 CDEF_UV_PRI_STRENGTH 및 AV1 사양의 구문 요소를 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

크로마 구성 요소의 값에 적용되는 shift -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

조직 합성 프로세스 중에 Gaussian 난수를 스케일 다운해야 하는 양을 지정합니다. 이 필드는 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 값) 좌표이고 두 번째 값은 크기 조정 값(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-plane의 선형 배율 함수에 대한 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

루마 구성 요소에 사용되는 승수를 Cr 구성 요소 크기 조정 함수에 넣습니다. 이 필드는 AV1 사양에서 동일한 이름의 구문 요소에 해당합니다.

film_grain.Reserved8Bits

예약되어 있습니다.

film_grain.cb_offset

Cb 구성 요소 크기 조정 함수에 대한 입력 인덱스의 파생에 사용되는 오프셋입니다. 이 필드는 AV1 사양에서 동일한 이름의 구문 요소에 해당합니다.

film_grain.cr_offset

Cr 구성 요소 크기 조정 함수에 대한 입력 인덱스의 파생에 사용되는 오프셋입니다. 이 필드는 AV1 사양에서 동일한 이름의 구문 요소에 해당합니다.

Reserved32Bits

예약되어 있습니다.

StatusReportFeedbackNumber

상태 보고서 피드백 데이터에서 태그로 사용할 호스트 디코더가 설정한 임의 번호입니다. 값은 0과 같아서는 안 되며 Execute 호출마다 달라야 합니다. 자세한 내용은 AV1 비디오 코딩에 대한 직접 X 비디오 가속 사양의 상태 보고서 데이터 구조 섹션을 참조하세요.

설명

너비높이가 프레임에 대해 파생되는 경우(예: frame_size_override_flag 통해) 호스트 디코더는 적절한 값을 파생시키고 결과를 이러한 필드에 저장합니다. superres를 사용하도록 설정하면 이러한 값은 사후 크기 조정된 프레임 해상도를 나타냅니다(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