Share via


DDVIDEOPORTCAPS 구조체(dvp.h)

DDVIDEOPORTCAPS 구조체는 하드웨어 비디오 포트의 기능 및 맞춤 제한을 설명합니다.

구문

typedef struct _DDVIDEOPORTCAPS {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwMaxWidth;
  DWORD dwMaxVBIWidth;
  DWORD dwMaxHeight;
  DWORD dwVideoPortID;
  DWORD dwCaps;
  DWORD dwFX;
  DWORD dwNumAutoFlipSurfaces;
  DWORD dwAlignVideoPortBoundary;
  DWORD dwAlignVideoPortPrescaleWidth;
  DWORD dwAlignVideoPortCropBoundary;
  DWORD dwAlignVideoPortCropWidth;
  DWORD dwPreshrinkXStep;
  DWORD dwPreshrinkYStep;
  DWORD dwNumVBIAutoFlipSurfaces;
  DWORD dwNumPreferredAutoflip;
  WORD  wNumFilterTapsX;
  WORD  wNumFilterTapsY;
} *LPDDVIDEOPORTCAPS, DDVIDEOPORTCAPS;

멤버

dwSize

구조체의 크기(바이트)를 지정합니다.

dwFlags

이 구조체에서 유효한 데이터가 포함된 멤버를 지정합니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

플래그 의미
DDVPD_ALIGN
모든 맞춤 멤버가 유효합니다. 여기에는 다음이 포함됩니다.
dwAlignVideoPortBoundary,
dwAlignVideoPortPrescaleWidth,
dwAlignVideoPortCropBoundary
dwAlignVideoPortCropWidth.
DDVPD_AUTOFLIP dwNumAutoFlipSurfaces는 유효합니다.
DDVPD_CAPS dwCaps 멤버가 유효합니다.
DDVPD_FX dwFX 멤버가 유효합니다.
DDVPD_HEIGHT dwMaxHeight 멤버가 유효합니다.
DDVPD_ID dwVideoPortID 멤버가 유효합니다.
DDVPD_WIDTH dwMaxWidthdwMaxVBIWidth 멤버는 유효합니다.

dwMaxWidth

하드웨어 비디오 포트에서 지원하는 최대 필드 너비(픽셀)를 지정합니다. 이 값은 일반적으로 너비 레지스터의 비트 수에 따라 결정됩니다.

dwMaxVBIWidth

하드웨어 비디오 포트에서 지원하는 VBI 데이터 줄의 최대 너비(샘플 수)를 지정합니다. 하드웨어 비디오 포트가 오버샘플링된 VBI 데이터를 지원하는 경우 이 값은 일반 필드 너비보다 클 수 있습니다.

dwMaxHeight

하드웨어 비디오 포트에서 지원하는 최대 필드 높이(픽셀)를 지정합니다. 이 값은 일반적으로 높이 레지스터의 비트 수에 따라 결정됩니다.

dwVideoPortID

이 항목에 대한 하드웨어 비디오 포트 ID를 지정합니다. 이 멤버는 DD_DIRECTDRAW_GLOBAL 구조체의 lpDDVideoPortCaps 멤버가 가리키는 배열 내에서 이 DDVIDEOPORTCAPS 구조체의 덱스 번호여야 합니다. 이 값의 범위는 0에서 (dwMaxVideoPorts - 1)입니다. (dwMaxVideoPortsDDCORECAPS 구조체의 멤버입니다.) 디바이스에서 하나의 하드웨어 비디오 포트만 지원하는 경우 이 멤버는 0이어야 합니다.

dwCaps

이 하드웨어 비디오 포트에서 지원하는 기능을 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

플래그 의미
DDVPCAPS_AUTOFLIP 찢어지는 것을 방지하기 위해 대칭 이동이 자동으로 수행될 수 있습니다.
DDVPCAPS_COLORCONTROL 하드웨어 비디오 포트는 프레임 버퍼에 기록되기 전에 들어오는 데이터에 대한 색 작업을 수행할 수 있습니다.
DDVPCAPS_INTERLACED 하드웨어 비디오 포트는 인터레이스된 비디오를 지원합니다.
DDVPCAPS_NONINTERLACED 하드웨어 비디오 포트는 비인터레이스 비디오를 지원합니다.
DDVPCAPS_OVERSAMPLEDVBI 하드웨어 비디오 포트는 VBI 데이터를 일반 비디오 데이터와 다른 너비 또는 형식으로 허용할 수 있습니다.
DDVPCAPS_READBACKFIELD 디바이스는 인터레이스된 신호의 현재 필드가 짝수인지 홀수인지를 나타내는 값을 반환할 수 있습니다.
DDVPCAPS_READBACKLINE 디바이스는 프레임 버퍼에 기록되는 현재 비디오 줄의 수를 반환할 수 있습니다.
DDVPCAPS_SHAREABLE Microsoft DirectDraw에서 무시됩니다.
DDVPCAPS_SKIPEVENFIELDS 하드웨어 비디오 포트는 비디오 필드도 자동으로 삭제할 수 있습니다.
DDVPCAPS_SKIPODDFIELDS 하드웨어 비디오 포트는 비디오의 홀수 필드를 자동으로 삭제할 수 있습니다.
DDVPCAPS_SYNCMASTER 디바이스는 하드웨어 비디오 포트 드라이버 V 동기화를 사용하여 그래픽 V 동기화를 구동할 수 있습니다.
DDVPCAPS_SYSTEMMEMORY 하드웨어 비디오 포트는 시스템 메모리에 직접 데이터를 쓸 수 있습니다.
DDVPCAPS_VBISURFACE 세로 공백 간격 내의 데이터를 다른 표면에 쓸 수 있습니다.

dwFX

이 하드웨어 비디오 포트에서 지원하는 효과를 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 값 중 비트 OR입니다.

플래그 의미
DDVPFX_CROPTOPDATA 하드웨어 비디오 포트는 수직 간격 데이터를 자르는 제한된 자르기를 지원합니다.
DDVPFX_CROPX 하드웨어 비디오 포트는 들어오는 데이터를 표면에 쓰기 전에 x 방향으로 자를 수 있습니다.
DDVPFX_CROPY 하드웨어 비디오 포트는 들어오는 데이터를 표면에 쓰기 전에 y 방향으로 자를 수 있습니다.
DDVPFX_IGNOREVBIXCROP 하드웨어 비디오 포트는 오버샘플링된 VBI 데이터를 자르는 경우 비디오 데이터의 왼쪽 및 오른쪽 자르기 좌표를 무시할 수 있습니다.
DDVPFX_INTERLEAVE 하드웨어 비디오 포트는 메모리의 인터레이스된 필드 인터리빙을 지원합니다.
DDVPFX_MIRRORLEFTRIGHT 하드웨어 비디오 포트는 비디오 데이터가 프레임 버퍼에 기록되므로 왼쪽에서 오른쪽으로 미러링을 지원합니다.
DDVPFX_MIRRORUPDOWN 하드웨어 비디오 포트는 비디오 데이터가 프레임 버퍼에 기록되므로 위에서 아래로 미러링을 지원합니다.
DDVPFX_PRESHRINKX 데이터는 표면에 기록되기 전에 x 방향으로 임의로 축소될 수 있습니다.
DDVPFX_PRESHRINKXB 데이터는 표면에 기록되기 전에 x 방향으로 음수 2(1/2, 1/4, 1/8 등)로 축소할 수 있습니다.
DDVPFX_PRESHRINKXS 데이터는 표면에 기록되기 전에 x 방향으로 1/dwPreshrinkXStep 단위로 축소할 수 있습니다.
DDVPFX_PRESHRINKY 데이터는 표면에 기록되기 전에 임의로 y 방향으로 축소될 수 있습니다.
DDVPFX_PRESHRINKYB 데이터는 표면에 기록되기 전에 y 방향으로 음수 2(1/2, 1/4, 1/8 등)로 축소할 수 있습니다.
DDVPFX_PRESHRINKYS 데이터는 표면에 기록되기 전에 y 방향으로 1/dwPreshrinkYStep 씩 축소할 수 있습니다.
DDVPFX_PRESTRETCHX 데이터는 표면에 기록되기 전에 x 방향으로 임의로 확장할 수 있습니다.
DDVPFX_PRESTRETCHXN 데이터는 표면에 기록되기 전에 x 방향의 정수 요소에 의해 확장될 수 있습니다.
DDVPFX_PRESTRETCHY 데이터는 표면에 기록되기 전에 임의로 y 방향으로 확장할 수 있습니다.
DDVPFX_PRESTRETCHYN 데이터는 표면에 기록되기 전에 y 방향으로 정수 요인에 의해 확장될 수 있습니다.
DDVPFX_VBICONVERT 세로 공백 간격 내의 데이터는 나머지 비디오 데이터와 독립적으로 변환할 수 있습니다.
DDVPFX_VBINOSCALE 수직 공백 간격 내의 데이터에 대해 크기 조정을 사용하지 않도록 설정할 수 있습니다.

dwNumAutoFlipSurfaces

하드웨어 비디오 포트가 자동 플리핑을 지원하는 경우 자동 클립 체인에서 지원되는 최대 표면 수를 지정합니다. 하드웨어 비디오 포트가 자동 플리핑을 지원하지 않는 경우 드라이버는 이 멤버를 0으로 설정해야 합니다.

dwAlignVideoPortBoundary

x 방향으로 표면의 원점과 관련하여 하드웨어 비디오 포트의 방향을 지정할 수 있는 바이트 맞춤 제한(바이트)을 지정합니다.

dwAlignVideoPortPrescaleWidth

사전 크기 조정이 수행될 때 하드웨어 비디오 포트 데이터의 너비에 대한 바이트 맞춤 제한(바이트)을 지정합니다.

dwAlignVideoPortCropBoundary

왼쪽 자르기 좌표에 대한 바이트 맞춤 제한을 바이트 단위로 지정합니다.

dwAlignVideoPortCropWidth

자르기 사각형의 너비에 대한 바이트 맞춤 제한을 바이트 단위로 지정합니다.

dwPreshrinkXStep

하드웨어 비디오 포트가 1/dwPreshrinkXStep 단계에서 비디오 데이터 너비를 축소할 수 있음을 나타냅니다. 이 멤버는 DDVPFX_PRESHRINKXS 기능이 지정된 경우에만 유효합니다.

dwPreshrinkYStep

하드웨어 비디오 포트가 1/dwPreshrinkYStep 단계에서 비디오 데이터 높이를 축소할 수 있음을 나타냅니다. 이 멤버는 DDVPFX_PRESHRINKYS 기능이 지정된 경우에만 유효합니다.

dwNumVBIAutoFlipSurfaces

하드웨어 비디오 포트가 자동 플리핑을 지원하는 경우 자동 클립 체인에서 지원되는 최대 표면 수를 지정합니다. 하드웨어 비디오 포트가 자동 플리핑을 지원하지 않는 경우 드라이버는 이 멤버를 0으로 설정해야 합니다. 이 멤버는 일반 비디오가 기록되는 것과 다른 표면으로 VBI 데이터를 보낼 수 있는 디바이스와만 관련이 있다는 점을 제외하고 dwNumAutoFlipSurfaces 와 동일한 방식으로 작동합니다.

dwNumPreferredAutoflip

하드웨어에서 지원하는 최적의 자동 클립 가능 표면 수를 지정합니다.

wNumFilterTapsX

사전 크기 조정기가 x 방향으로 사용하는 탭 수를 나타냅니다. 값 0은 사전 크기 조정이 없음을 나타내고, 값 1은 복제를 나타내는 등입니다.

wNumFilterTapsY

프리스케일러가 y 방향으로 사용하는 탭 수를 나타냅니다. 값 0은 사전 크기 조정이 없음을 나타내고, 값 1은 복제를 나타내는 등입니다.

설명

드라이버는 DdGetDriverInfo 함수가 GUID_VideoPortCaps GUID를 사용하여 호출되는 경우 DDVIDEOPORTCAPS 구조에서 설명하는 기능을 보고합니다.

요구 사항

   
머리글 dvp.h(Dvp.h 포함)

추가 정보

DDCORECAPS

DD_DIRECTDRAW_GLOBAL

DdGetDriverInfo