IDirectXVideoProcessor::VideoProcessBlt 方法 (dxva2api.h)

对一个或多个输入样本执行视频处理操作,并将结果写入 Direct3D9 图面。

语法

HRESULT VideoProcessBlt(
  [in]  IDirect3DSurface9                 *pRenderTarget,
  [in]  const DXVA2_VideoProcessBltParams *pBltParams,
  [in]  const DXVA2_VideoSample           *pSamples,
  [in]  UINT                              NumSamples,
  [out] HANDLE                            *pHandleComplete
);

参数

[in] pRenderTarget

指向 Direct3D 图面的 IDirect3DSurface9 接口的指针。 视频处理操作的输出将写入此图面。 图面可以是以下任一类型:

  • 使用 DXVA2_VideoProcessRenderTarget 标志调用 IDirectXVideoAccelerationService::CreateSurface 创建的图面。 还可以使用 DXVA2_VideoSoftwareRenderTarget 标志,但仅当设备 GUID DXVA2_VideoProcSoftwareDevice (软件视频处理设备) 时。
  • 从具有 D3DUSAGE_RENDERTARGET 用法标志的 Direct3D 设备创建的图面。
  • Direct3D 交换链。

[in] pBltParams

指向描述要执行的视频处理操作 的DXVA2_VideoProcessBltParams 结构的指针。

[in] pSamples

指向包含输入样本的 DXVA2_VideoSample 结构的数组的指针。 数组中必须至少有一个元素。

最大输入样本数由头文件 dxva2api.h 中定义的常 量MAX_DEINTERLACE_SURFACES给出。

[in] NumSamples

pSamples 数组中的元素数。

[out] pHandleComplete

保留;设置为 NULL

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
D3DERR_DRIVERINTERNALERROR
内部驱动程序错误。
E_INVALIDARG
参数无效。

注解

当方法返回时,操作可能未完成。

如果方法返回E_INVALIDARG,检查以下内容:

  • NumSamples) (输入样本数必须小于或等于MAX_DEINTERLACE_SURFACES
  • Direct3D 图面必须是 VideoProcessBlt 的有效目标。 有关详细信息,请参阅 pRT 参数的说明。
  • pBltParams 中给定的 TargetFrame (呈现时间) 必须与主流中当前图片的开始和结束时间匹配。 具体而言,它必须小于结束时间且大于或等于开始时间。 请注意,如果 pSamples 数组包含向后引用图片,则 pSamples 中的第一个示例可能不是当前图片。 有关详细信息,请参阅 输入示例顺序
  • pBltParams 中给定的 TargetRect) (目标矩形不能大于 pRT) (目标图面。
  • pBltParams 中给定的 constrictionSize) (限制大小不能小于零或大于目标矩形。
  • 背景色的 alpha 分量必须是 opqaue。
  • pBltParams 中给定的 ProcAmp 值必须有效。 对于驱动程序支持的任何 ProcAmp 设置,这些值必须位于 IDirectXVideoProcessor::GetProcAmpRange 方法返回的范围内。
  • pBltParams 中给定的干扰和详细信息筛选器必须有效。 对于驱动程序支持的任何筛选器,这些值必须位于 IDirectXVideoProcessor::GetFilterPropertyRange 方法返回的范围内。
  • pBltParams 中给定的 alpha 值必须在包含 [0...1] 的范围内。
  • 对于 pSamples 中给出的每个输入样本:
    • 开始时间不能大于结束时间。
    • 必须提供有效的 IDirect3DSurface9 指针。
    • 源矩形不能大于输入图面。
    • 目标矩形不能大于目标图面。
    • 平面 alpha 必须在包含 [0...1] 的范围内。
  • 对于 (源、目标和目标) 的所有矩形,矩形不能 (左 > 右或上 > 下) 反转,也不能具有负值。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 dxva2api.h

另请参阅

DXVA 视频处理

DXVA2_VideoSample

IDirectXVideoProcessor