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 |
---|---|
|
메서드가 성공했습니다. |
|
내부 드라이버 오류입니다. |
|
인수가 잘못되었습니다. |
설명
메서드가 반환되면 작업이 완료되지 않을 수 있습니다.
메서드가 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 |