다음을 통해 공유


DDVIDEOPORTINFO 구조체(dvp.h)

DDVIDEOPORTINFO 구조체는 드라이버가 비디오 데이터를 표면(또는 표면)으로 전송하는 방법을 설명합니다. DDVIDEOPORTINFO는 DD_VIDEOPORT_LOCAL 구조체의 멤버입니다.

구문

typedef struct _DDVIDEOPORTINFO {
  DWORD           dwSize;
  DWORD           dwOriginX;
  DWORD           dwOriginY;
  DWORD           dwVPFlags;
  RECT            rCrop;
  DWORD           dwPrescaleWidth;
  DWORD           dwPrescaleHeight;
  LPDDPIXELFORMAT lpddpfInputFormat;
  LPDDPIXELFORMAT lpddpfVBIInputFormat;
  LPDDPIXELFORMAT lpddpfVBIOutputFormat;
  DWORD           dwVBIHeight;
  ULONG_PTR       dwReserved1;
  ULONG_PTR       dwReserved2;
} *LPDDVIDEOPORTINFO, DDVIDEOPORTINFO;

멤버

dwSize

구조체의 크기(바이트)를 지정합니다. 구조체를 사용하려면 먼저 이 멤버를 초기화해야 합니다.

dwOriginX

화면 내의 비디오 데이터의 x 배치를 픽셀 단위로 나타냅니다. 이 오프셋은 자동 플리핑이 요청되면 모든 표면에 적용됩니다.

dwOriginY

표면 내의 비디오 데이터의 y 배치를 픽셀 단위로 나타냅니다. 이 오프셋은 자동 플리핑이 요청되면 모든 표면에 적용됩니다.

dwVPFlags

드라이버가 비디오 데이터를 전송하는 방법을 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

플래그 의미
DDVP_AUTOFLIP 자동 대칭 이동 수행 자동 대칭 이동은 하드웨어 비디오 포트에 연결된 오버레이 표면과 표면에 연결된 오버레이 표면 간에 수행됩니다. 대칭 이동 순서는 오버레이 표면이 연결된 순서입니다.
DDVP_CONVERT 비디오 데이터와 대상 화면의 형식은 다릅니다. 드라이버는 비디오 데이터를 대상 표면 형식의 형식으로 변환해야 합니다.
DDVP_CROP 드라이버는 rCrop 멤버의 사각형을 사용하여 비디오 및 VBI 데이터를 모두 자르야 합니다.
DDVP_IGNOREVBIXCROP 드라이버는 VBI 데이터를 자르는 경우 왼쪽 및 오른쪽 자르기 좌표를 무시해야 합니다.
DDVP_INTERLEAVE 비디오 및 VBI 데이터의 인터레이스된 필드는 메모리에 인터리빙되어야 합니다.
DDVP_MIRRORLEFTRIGHT 비디오 데이터는 프레임 버퍼에 기록되므로 왼쪽에서 오른쪽으로 미러링되어야 합니다.
DDVP_MIRRORUPDOWN 비디오 데이터는 프레임 버퍼에 기록되므로 위에서 아래로 미러링되어야 합니다.
DDVP_NOINTERLEAVE DDVP_INTERLEAVE 플래그가 설정된 경우 드라이버는 비디오 데이터만 인터리브해야 합니다. 즉, 드라이버는 VBI 데이터를 인터리브해서는 안 됩니다.
DDVP_OVERRIDEBOBWEAVE bob 및 직조 결정은 다른 인터페이스에 의해 재정의되어서는 안됩니다. 이 플래그가 설정된 경우 Microsoft DirectDraw는 커널 모드 드라이버가 커널 모드 비디오 전송 기능을 사용하여 하드웨어를 bob 모드와 직조 모드 간에 전환하는 것을 허용하지 않습니다.
DDVP_PRESCALE dwPrescaleWidth 및 dwPrescaleHeight 멤버에 따라 사전 크기 조정/확대/축소 수행합니다. 드라이버는 DDVP_VBINOSCALE 설정된 경우 비디오 데이터만 미리 크기 조정해야 합니다. 그렇지 않으면 비디오 및 VBI 데이터를 모두 미리 크기 조정해야 합니다.
DDVP_SKIPEVENFIELDS 비디오 및 VBI 데이터에 대한 짝수 필드 입력을 무시합니다.
DDVP_SKIPODDFIELDS 비디오 및 VBI 데이터에 대한 홀수 필드 입력을 무시합니다.
DDVP_SYNCMASTER 하드웨어 비디오 포트 VSYNC를 사용하여 그래픽 VSYNC를 구동합니다.
DDVP_VBICONVERT lpddpfVBIOutputFormat 멤버 포인트에 수직 공백 간격 내에서 데이터를 변환하는 데 사용해야 하는 데이터가 포함된 DDPIXELFORMAT 구조체입니다.
DDVP_VBINOSCALE 세로 공백 간격 내의 데이터는 크기를 조정하면 안 됩니다.

rCrop

자르기 사각형을 픽셀 단위로 지정하는 RECT 구조를 지정합니다. 이 멤버는 DDVP_CROP 플래그가 dwVPFlags 멤버에 설정된 경우 유효한 사각형을 포함합니다.

dwPrescaleWidth

비디오 및 VBI 데이터를 미리 크기 조정하거나 확대/축소할 너비를 픽셀 단위로 지정합니다. 예를 들어 비디오 데이터가 너비가 720픽셀이고 클라이언트가 너비를 절반으로 줄이라고 요청하는 경우 클라이언트는 dwPrescaleWidth에서 360을 지정합니다. 이 멤버는 DDVP_PRESCALE 플래그가 dwVPFlags 멤버에 설정된 경우 유효한 너비를 포함합니다.

dwPrescaleHeight

비디오 및 VBI 데이터를 미리 크기 조정하거나 확대/축소해야 하는 높이(픽셀)를 지정합니다. 예를 들어 비디오 데이터가 너비가 240픽셀이고 클라이언트가 너비를 절반으로 줄이라고 요청하는 경우 클라이언트는 dwPrescaleHeight에서 120을 지정합니다. 이 멤버는 DDVP_PRESCALE 플래그가 dwVPFlags 멤버에 설정된 경우 유효한 너비를 포함합니다.

lpddpfInputFormat

VPE(비디오 포트 확장) 개체에 쓸 비디오 데이터의 형식을 지정하는 DDPIXELFORMAT 구조를 가리킵니다. VPE 개체가 변환을 수행하는 경우 이 형식은 대상 표면 형식과 다를 수 있습니다.

lpddpfVBIInputFormat

세로 공백 간격 내에서 데이터의 입력 형식을 지정하는 DDPIXELFORMAT 구조를 가리킵니다.

lpddpfVBIOutputFormat

세로 공백 간격 내에서 데이터의 출력 형식을 지정하는 DDPIXELFORMAT 구조를 가리킵니다.

dwVBIHeight

세로 공백 간격 내의 데이터 줄 수를 지정합니다.

dwReserved1

시스템 사용을 위해 예약되며 드라이버에서 무시해야 합니다.

dwReserved2

시스템 사용을 위해 예약되며 드라이버에서 무시해야 합니다.

설명

이 구조체의 모든 멤버는 클라이언트에 의해 설정되며 드라이버는 이러한 멤버를 변경하지 않아야 합니다. 클라이언트는 일반적으로 오버레이 믹서입니다.

요구 사항

요구 사항
헤더 dvp.h(Dvp.h 포함)

추가 정보

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL