DXVAHD_STREAM_DATA 结构 (dxvahd.h)

包含 IDXVAHD_VideoProcessor::VideoProcessBltHD 方法的每流数据。

语法

typedef struct _DXVAHD_STREAM_DATA {
  BOOL              Enable;
  UINT              OutputIndex;
  UINT              InputFrameOrField;
  UINT              PastFrames;
  UINT              FutureFrames;
  IDirect3DSurface9 **ppPastSurfaces;
  IDirect3DSurface9 *pInputSurface;
  IDirect3DSurface9 **ppFutureSurfaces;
} DXVAHD_STREAM_DATA;

成员

Enable

指定是否启用此输入流。 如果值为 TRUE则 VideoProcessBltHD 方法会将此流转换为输出图面。 否则,不会对流进行 blitted。 一次可以启用的最大流数在 DXVAHD_VPDEVCAPS 结构的 MaxInputStreams 成员中给出。

OutputIndex

输出帧的从零开始的索引号。 请参阅“备注”。

InputFrameOrField

输入帧或字段的从零开始的索引号。 请参阅“备注”。

PastFrames

过去引用帧的数目。 此值必须小于或等于 DXVAHD_VPCAPS 结构的 PastFrames 成员的值。

FutureFrames

将来的引用帧数。 此值必须小于或等于 DXVAHD_VPCAPS 结构的 FutureFrames 成员的值。

ppPastSurfaces

指向由调用方分配的 IDirect3DSurface9 指针数组的指针。 此数组包含视频处理操作的过去引用帧。 数组中的元素数等于 PastFrames 成员的值。

pInputSurface

指向包含当前输入帧的 Microsoft Direct3D 图面 的 IDirect3DSurface9 接口的指针。

ppFutureSurfaces

指向由调用方分配的 IDirect3DSurface9 指针数组的指针。 此数组包含视频处理操作的未来参考帧。 数组中的元素数等于 FutureFrames 成员的值。

备注

输入图面

Direct3D 图面必须在DXVAHD_VPDEVCAPS结构的 InputPool 成员指定的内存池中分配。 可以使用以下图面类型: 过去和将来的引用帧必须按时态顺序(从最旧到最新)放置在数组中。 例如,如果 T 是当前输入帧,则数组的顺序如下:
  • ppPastSurfaces: { ..., T-3T-2T-1 }
  • ppInputSurfaceT
  • ppFutureSurfaces: { T+1, T+2, T+3, ... }
DXVAHD_VPCAPS 结构指定获得最佳去隔行扫描质量所需的参考帧数。 如果应用程序提供的引用帧较少,则设备将回退到更简单的去隔行处理算法。 如果未提供参考帧,则设备可以使用 bob 反交错。 下面是应用程序可能提供较少引用帧的一些情况:
  • 在视频序列的开头或结尾
  • 使用渐进式输入
  • 在渐进式和交错输入之间转换期间
  • 对于不需要高去隔行符质量的子流
  • 删除帧时

输入和输出索引

OutputIndexInputFrameOrField 成员用于将输入帧或字段与输出帧相关联。 OutputIndex 成员的值是循环的,并在每个周期后重置为零。

下面是一些示例模式:

  • 以正常速率渐进式视频。 每个输入帧生成一个输出帧。
    • 输出索引:0、0、0、0、...
    • 输入索引:0、1、2、3...
  • 以正常速率交错视频。 每个交错帧 (两个字段) 生成两个输出帧。
    • 输出索引:0、1、0、1...
    • 输入索引:0、1、2、3...
  • 2/1 输出速率的渐进式视频。 每个输入帧生成一个输出帧。
    • 输出索引:0、1、0、1...
    • 输入索引:0、1、2、3...
  • 以 1/2 输出速率隔行扫描的视频。 每个交错帧生成一个输出帧。 (混合这两个字段以创建一个 frame。)
    • 输出索引:0、0、0、0、...
    • 输入索引:0、2、4、6、 ...

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 dxvahd.h

另请参阅

DXVA-HD

Direct3D 视频结构

媒体基础结构