DXVA_Highlight结构(dxva.h)
主机解码器将DXVA_Highlight结构发送到加速器,以指定子图片的突出显示矩形区域,并使用 DCCMD 数据和 DPXD 图面创建 alpha 混合图面。
语法
typedef struct _DXVA_Highlight {
WORD wHighlightActive;
WORD wHighlightIndices;
WORD wHighlightAlphas;
RECT HighlightRect;
} DXVA_Highlight, *LPDXVA_Highlight;
成员
wHighlightActive
指示矩形突出显示区域是否处于活动状态。 零表示非活动状态,1 表示活动。 如果处于非活动状态,突出显示数据必须不会影响混合图片的内容。
wHighlightIndices
包含四个调色板索引。 每个调色板索引由 4 位组成。 DXPD 突出显示的矩形区域中的每个 2 位索引用于在这四个调色板索引中进行选择。 4 个最重要的位用于索引 3,接下来 4 位用于索引 2,接下来 4 位用于索引 1,4 个最小有效位用于索引 0。
wHighlightAlphas
包含四个不透明度值。 每个不透明度值由 4 位组成。 DXPD 突出显示的矩形区域中的每个 2 位索引用于在这四个不透明度值中进行选择。 4 个最重要的位用于索引 3,接下来 4 位用于索引 2,接下来 4 位用于索引 1,4 个最小有效位用于索引 0。
这些 4 位不透明度值分别称为 SampleAlpha4 变量,如下所示:
- 值零指示相应位置的图形内容是透明的(以便由 wHighlightIndices 的相应位索引的调色板项 对生成的混合图片没有影响)。 对于零值,指定的混合是使用视频图片内容而不更改。
- 值 15 指示相应位置的图形内容不透明(以便由 wHighlightIndices 的相应位索引的调色板项 完全确定生成的混合图片)。
- 对于非零值,可以使用以下表达式找到指定的混合:
- ((((SampleAlpha4 + 1) x (图形值) + ((15 - SampleAlpha4) x (图片值) + 8) >> 4
HighlightRect
指定一个 RECT 结构,该结构定义突出显示矩形的区域。
以下限制适用于 RECT 维度:
- 左侧,顶部 必须大于或等于零。
- 右 和 底部 必须分别 大于左 和 顶部。
- 右 不得超过 720,底部 不得超过 576。
言论
DXVA_Highlight结构是以与 DVD 论坛指定的 DVD 视频规范兼容的方式制定的。
注意 DVD 规范定义子图片矩形区域的方式和Microsoft使用的约定之间存在差异。 本节遵循Microsoft约定,因此图片左上角的宽度为 10 和高度 10 的矩形由 顶部 = 0 定义,左 = 0,右 = 10,底部 = 10。 DVD 规范定义右 = 9,底部 = 9。
要求
要求 | 价值 |
---|---|
标头 | dxva.h (包括 Dxva.h) |