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)

另请参阅

RECT