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 포함) |