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
启用 superres 后,此字段指定用于计算更新的帧宽度的分母。 这对应于 AV1 规范中的 SuperresDenom 值。 如果未启用 superres,此值应为 8。
bitdepth
luma 和 chroma 解码样本的位深度。 允许的值受配置文件值的限制。
seq_profile
AV1 位流的配置文件。 这对应于语法元素:seq_profile。 AV1 视频编码格式定义以下配置文件:
配置文件 | 含义 |
---|---|
配置文件 0 | 支持 4:2:0 色度采样(每个样本 8 或 10 位)和单色格式。 |
配置文件 1 | 支持 4:4:4 色度采样,每个样本 8 位或 10 位。 |
配置文件 2 | 支持 4:2:0、4:2:2 或 4: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 时,指示运动向量指定为第 8 个 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 帧,允许的值为 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 时,指示为水平亮度边缘、垂直光玛边缘、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 交流量化器。 此字段对应于 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
应用于色度分量值的 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
指定在粒度合成过程中应缩减多少高斯随机数。 此字段对应于 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) ,主机解码器将派生适当的值并将结果存储在这些字段中。 如果启用了 superres ,则这些值表示 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 |