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
启用 superres 后,此字段指定用于计算更新的帧宽度的分母。 这对应于 AV1 规范中的 SuperresDenom 值。 如果未启用 superres,则此值应为 8。
bitdepth
luma 和 chroma 解码样本的位深度。 允许的值受配置文件值限制。
seq_profile
AV1 位流的配置文件。 这对应于语法元素:seq_profile。 AV1 视频编码格式定义以下配置文件:
轮廓 | 意义 |
---|---|
配置文件 0 | 支持每个样本 8 位或 10 位的 4:2:0 色采样和单色格式。 |
配置文件 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 时,指示超级锁包含 128x128 luma 样本;否则,超级锁包含 64x64 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,则指示可以在水平方向和垂直方向单独指定预测间筛选器类型:否则,只能指定一个筛选器类型。 此字段对应于 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 时,指示运动向量指定为第八个拼写精度;否则,运动向量将指定为四分之一的拼写精度。 此字段对应于 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 帧,允许的值为 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机制输出帧;否则等于零,它指定此帧不会使用show_existing_frame机制输出。
format.subsampling_x
与 subsampling_y一起,指示色度采样格式。 请参阅“备注”。
format.subsampling_y
与 subsampling_x一起,指示色度采样格式。 请参阅“备注”。
format.mono_chrome
指示比特流是否为单色。 如果为 1,则只有 luma 平面存在。 此字段对应于 AV1 规范的颜色配置语法中同名的语法元素。 允许的值受配置文件值限制。
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的值。 当非零时,它会相应地影响相对距离的计算(请参阅 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,则指示为水平 luma 边缘、垂直 luma 边缘、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
控制 dering 筛选器中的阻尼量。 此字段对应于 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 和 chroma 的自动回归系数数。 此字段对应于 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 值)坐标,第二个值是缩放值(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 平面的按条线性缩放函数的 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
用于 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 视频加速规范中的“状态报告数据结构”部分。
言论
如果为帧派生 宽度 和 高度(例如通过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 |