DXVA_DeinterlaceBobDeviceClass::D einterlaceBlt 메서드

샘플 DeinterlaceBlt 함수는 대상 화면에 출력을 작성하여 deinterlace 또는 프레임 속도 변환을 수행합니다.

구문

HRESULT DeinterlaceBlt(
  [in] REFERENCE_TIME     rtTargetFrame,
  [in] LPRECT             lprcDstRect,
  [in] LPDDSURFACE        lpDDSDstSurface,
  [in] LPRECT             lprcSrcRect,
  [in] LPDXVA_VideoSample lpDDSrcSurfaces,
  [in] DWORD              dwNumSurfaces,
  [in] FLOAT              fAlpha
);

매개 변수

rtTargetFrame [in] 입력 프레임 시퀀스 내에서 출력 프레임의 위치를 식별합니다. 디인터레이싱만 수행되는 경우 대상 시간은 DXVA_VideoSample 구조에 정의된 참조 샘플의 시작 표시 시간 또는 시작 표시 시간과 종료 표시 시간 사이의 중간점과 일치해야 합니다. 자세한 내용은 DXVA_DeinterlaceBlt 구조를 참조하세요.

프레임 속도 변환을 요청하는 경우 rtTarget 시간은 참조 샘플의 rtStart 시간과 다를 수 있습니다.

lprcDstRect [in] 대상 표면에서 사각형의 왼쪽 위와 오른쪽 아래 점을 설명하는 RECT 구조체에 대한 포인터를 제공합니다. 이러한 점은 비트 블록 전송이 발생하는 영역과 대상 표면의 위치를 정의합니다.

lpDDSDstSurface [in] 대상 화면에 대한 포인터를 제공합니다. 대상 표면은 D3D 렌더링 대상, D3D 텍스처 또는 렌더링 대상인 D3D 텍스처일 수 있습니다. 대상 화면은 항상 로컬 비디오 메모리에 할당됩니다.

대상 표면의 픽셀 형식은 YUV-RGB 색 공간 변환이 디인터레이스 프로시저의 일부로 수행되지 않는 한 DXVA_DeinterlaceCaps 구조에 표시된 형식입니다. 이 경우 대상 표면 형식은 각 색 구성 요소에 대해 정밀도가 8비트 이상인 RGB 형식입니다.

lprcSrcRect [in] 원본 표면에서 사각형의 왼쪽 위와 오른쪽 아래 점을 설명하는 RECT 구조체에 대한 포인터를 제공합니다. 이러한 점은 비트 블록 전송에 대한 원본 데이터의 영역과 원본 표면의 위치를 정의합니다.

lpDDSrcSurfaces [in] 비디오 소스 샘플 배열에 대한 포인터를 제공합니다.

dwNumSurfaces [in] lpDDSrcSurfaces 배열의 표면 수를 나타냅니다.

fAlpha [in] 표면의 알파 값을 나타냅니다. 값 0.0F는 투명한 표면을 나타냅니다. 값 1.0F는 불투명 표면을 나타냅니다.

반환 값

성공하면 0(S_OK 또는 DD_OK)을 반환합니다. 그렇지 않으면 오류 코드를 반환합니다. 오류 코드의 전체 목록은 ddraw.h 를 참조하세요.

설명

DeinterlaceBlt 함수는 DD_MOTIONCOMPCALLBACKS 구조체의 RenderMoComp 멤버에 대한 호출에 직접 매핑됩니다. RenderMoComp 멤버는 DD_RENDERMOCOMPDATA 구조를 참조하는 드라이버 제공 표시 함수를 가리킵니다. DD_RENDERMOCOMPDATA 구조체는 다음과 같이 채워집니다.

멤버

dwNumBuffers

lpBufferInfo가 가리키는 배열의 항목 수를 나타냅니다.

lpBufferInfo

DDMOCOMPBUFFERINFO 구조체의 배열을 가리키며, 각 입력 참조 샘플에 대해 하나씩, 대상 샘플에 대해 하나씩 가리킵니다. 대상 샘플은 배열의 첫 번째 요소입니다.

dwFunction

dxva.h에 정의된 DXVA_DeinterlaceBltFnCode 상수입니다.

lpInputData

채워진 DXVA_DeinterlaceBlt 구조를 가리킵니다.

lpOutputData

현재 사용되지 않는 NULL로 설정합니다.

디인터레이싱에 사용되는 DirectX VA 디바이스의 경우 RenderMoComp 에서 가리키는 드라이버 제공 콜백은 디스플레이 드라이버 제공 BeginMoCompFrame 또는 EndMoCompFrame 함수를 호출하지 않고 호출 됩니다 .

참조

DD_MOTIONCOMPCALLBACKS

DD_RENDERMOCOMPDATA

DXVA_DeinterlaceBlt

DXVA_DeinterlaceCaps

DXVA_VideoSample