다음을 통해 공유


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를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
D3DERR_DRIVERINTERNALERROR
내부 드라이버 오류입니다.
E_INVALIDARG
인수가 잘못되었습니다.

설명

메서드가 반환되면 작업이 완료되지 않을 수 있습니다.

메서드가 E_INVALIDARG 반환하는 경우 다음을 검사.

  • 입력 샘플 수(NumSamples)는 MAX_DEINTERLACE_SURFACES 보다 작거나 같아야 합니다.
  • Direct3D 표면은 VideoProcessBlt의 유효한 대상이어야 합니다. 자세한 내용은 pRT 매개 변수에 대한 설명을 참조하세요.
  • pBltParams에 지정된 프레젠테이션 시간(TargetFrame)은 기본 스트림의 현재 그림에 대한 시작 및 종료 시간과 일치해야 합니다. 특히 종료 시간보다 작고 시작 시간보다 크거나 같아야 합니다. pSamples 배열에 이전 참조 그림이 포함된 경우 pSamples의 첫 번째 샘플은 현재 그림이 아닐 수 있습니다. 자세한 내용은 입력 샘플 순서를 참조하세요.
  • pBltParams에 지정된 대상 사각형(TargetRect)은 대상 표면(pRT)보다 클 수 없습니다.
  • pBltParams에 지정된 수축 크기(ConstrictionSize)는 대상 사각형보다 0보다 작거나 클 수 없습니다.
  • 배경색의 알파 구성 요소는 opqaue여야 합니다.
  • pBltParams에 지정된 ProcAmp 값은 유효해야 합니다. 드라이버에서 지원하는 ProcAmp 설정의 경우 이러한 값은 IDirectXVideoProcessor::GetProcAmpRange 메서드에서 반환하는 범위 내에 있어야 합니다.
  • pBltParams에 지정된 노이즈 및 세부 필터는 유효해야 합니다. 드라이버에서 지원하는 필터의 경우 이러한 값은 IDirectXVideoProcessor::GetFilterPropertyRange 메서드에서 반환하는 범위 내에 있어야 합니다.
  • pBltParams에 지정된 알파 값은 [0...1] 범위 안에 있어야 합니다.
  • pSamples에 지정된 각 입력 샘플:
    • 시작 시간은 종료 시간보다 클 수 없습니다.
    • 유효한 IDirect3DSurface9 포인터를 제공해야 합니다.
    • 원본 사각형은 입력 표면보다 클 수 없습니다.
    • 대상 사각형은 대상 표면보다 클 수 없습니다.
    • 평면 알파는 [0...1] 범위 안에 있어야 합니다.
  • 모든 사각형(원본, 대상 및 대상)의 경우 사각형을 반전하거나(왼쪽 > 오른쪽 또는 위쪽 > 아래쪽) 음수 값을 가질 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 dxva2api.h

추가 정보

DXVA 비디오 처리

DXVA2_VideoSample

IDirectXVideoProcessor