다음을 통해 공유


KS_VIDEOINFOHEADER2 구조체(ksmedia.h)

KS_VIDEOINFOHEADER2 구조는 bob 또는 직조 설정, 복사 보호 및 픽셀 가로 세로 비율을 포함하여 비디오 스트림의 세부 정보를 설명합니다.

구문

typedef struct tagKS_VIDEOINFOHEADER2 {
  RECT                rcSource;
  RECT                rcTarget;
  DWORD               dwBitRate;
  DWORD               dwBitErrorRate;
  REFERENCE_TIME      AvgTimePerFrame;
  DWORD               dwInterlaceFlags;
  DWORD               dwCopyProtectFlags;
  DWORD               dwPictAspectRatioX;
  DWORD               dwPictAspectRatioY;
  union {
    DWORD dwControlFlags;
    DWORD dwReserved1;
  };
  DWORD               dwReserved2;
  KS_BITMAPINFOHEADER bmiHeader;
} KS_VIDEOINFOHEADER2, *PKS_VIDEOINFOHEADER2;

멤버

rcSource

사용할 활성 비디오 신호의 부분을 선택하는 클리핑 사각형을 지정합니다.

rcTarget

사용할 대상 버퍼의 일부를 나타내는 사각형을 지정합니다.

dwBitRate

비디오 스트림의 적절한 데이터 속도를 초당 비트 단위로 나타내는 값을 지정합니다.

dwBitErrorRate

비디오 스트림의 데이터 오류율을 초당 비트 오류 수로 나타내는 값을 지정합니다.

AvgTimePerFrame

프레임당 평균 시간을 100나노초 단위로 지정합니다.

dwInterlaceFlags

인터레이스 정보를 지정합니다. 정의되지 않은 플래그를 0으로 설정해야 하거나 연결이 거부될 수 있습니다. 이 멤버는 ksmedia.h에 정의된 하나 이상의 (논리적 OR) 값으로 설정할 수 있습니다.

플래그 설명
KS_INTERLACE_IsInterlaced 인터레이스 스트림을 나타냅니다. 0이면 다른 KS_INTERLACE_Xxx 비트는 관련이 없습니다.
KS_INTERLACE_1FieldPerSample 미디어 샘플당 하나의 필드를 나타냅니다. 0이면 미디어 샘플당 두 개의 필드를 나타냅니다.
KS_INTERLACE_Field1First 필드 1이 첫 번째임을 나타냅니다. 0이면 필드 2가 첫 번째임을 나타냅니다. PAL의 위쪽 필드는 필드 1이고, NTSC의 상위 필드는 필드 2입니다.
KS_INTERLACE_UNUSED 사용 안 함
KS_INTERLACE_FieldPatternMask 필드 패턴을 지정하는 데 사용되는 비트를 나타냅니다.
KS_INTERLACE_FieldPatField1Only 스트림에 필드 2가 포함되지 않은 것을 나타냅니다.
KS_INTERLACE_FieldPatField2Only 스트림에 필드 1이 포함되지 않은 것을 나타냅니다.
KS_INTERLACE_FieldPatBothRegular 필드 1마다 필드 2가 있음을 나타냅니다.
KS_INTERLACE_FieldPatBothIrregular 필드 1 및 필드 2의 임의 패턴을 나타냅니다.
KS_INTERLACE_DisplayModeMask 비디오 캡처가 잘못되었습니다.
KS_INTERLACE_DisplayModeBobOnly 비디오 캡처가 잘못되었습니다.
KS_INTERLACE_DisplayModeWeaveOnly 비디오 캡처가 잘못되었습니다.
KS_INTERLACE_DisplayModeBobOrWeave 비디오 캡처가 잘못되었습니다.

dwCopyProtectFlags

스트림의 중복을 제한해야 하는지 여부를 나타내는 KSCOPYPROTECTRestrictDuplication 값(0x00000001)을 지정합니다. 정의되지 않은 경우 0을 지정하거나 연결이 거부됩니다.

dwPictAspectRatioX

그림 가로 세로 비율의 x 차원을 지정합니다(예: 16개 × 9 디스플레이의 경우 16). 값은 픽셀 단위가 아닌 인치 단위로 표현됩니다.

dwPictAspectRatioY

그림 가로 세로 비율의 y 차원을 지정합니다(예: 16개 × 9 표시의 경우 9). 값은 픽셀 단위가 아닌 인치 단위로 표현됩니다.

dwControlFlags

Windows Vista 이전의 운영 체제에서 이 멤버는 dwReserved1 로 명명되었으며 0이어야 했습니다. Windows Vista에서 dwReserved1dwControlFlags라는 새 멤버와 공용 구조체에서 결합되었습니다. dwControlFlags를 사용하는 경우 다음 표에 있는 플래그의 비트 OR이 포함됩니다.

Description
AMCONTROL_USED dwControlFlags 플래그가 사용됨을 나타냅니다.
AMCONTROL_PAD_TO_4x3 이미지를 패딩하고 4 x 3 영역에 표시해야 합니다.
AMCONTROL_PAD_TO_16x9 이미지를 패딩하고 16 x 9 영역에 표시해야 합니다.
AMCONTROL_COLORINFO_PRESENT 추가 색 정보는 dwControlFlags 필드의 상위 24비트에 포함됩니다.

AMCONTROL_USED 플래그는 이전 필터와 이전 버전과의 호환성을 제공합니다. AMCONTROL_USED 플래그가 설정되지 않은 경우 이 필드의 나머지 비트를 무시해야 합니다. 필터가 다른 플래그를 사용하는 경우 AMCONTROL_USED 플래그를 설정해야 합니다.

두 AMCONTROL_PAD_xxx 플래그는 디코더에서 출력 사각형의 가로 세로 비율을 결정하는 데 사용됩니다.

AMCONTROL_COLORINFO_PRESENT 플래그가 설정되면 dwControlFlags 필드의 상위 24비트가 DXVA_ExtendedFormat 구조체로 처리됨을 의미합니다.

dwControlFlags에 대한 자세한 내용은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.

dwReserved1

이 멤버는 이전 버전과의 호환성을 위한 것입니다. 자세한 내용은 dwControlFlags 를 참조하세요.

dwReserved2

시스템에서 사용하도록 예약되었습니다. 0으로 설정해야 합니다. 그렇지 않으면 연결이 거부됩니다.

bmiHeader

비디오 이미지 비트맵에 대한 색 및 차원 정보가 포함된 KS_BITMAPINFOHEADER 구조를 나타냅니다.

설명

bob 또는 직조 설정이 없는 비디오 스트림을 설명하려면 KS_VIDEOINFOHEADER 사용합니다.

KS_VIDEOINFOHEADER2 구조체는 DirectShow VIDEOINFOHEADER2 구조체와 동일합니다.

프레임 대신 비디오 필드를 생성하는 미니드라이버 캡처는 KS_VIDEOINFOHEADER2 구조를 포함하는 KS_DATARANGE_VIDEO2 구조를 사용해야 합니다.

원본 필터는 rcSource 멤버에서 클리핑 사각형을 효과적으로 정의하는 값을 제공하여 싱크 필터가 비디오의 한 섹션만 수행되도록 요청할 수 있습니다. 그러나 싱크 필터가 연결 시 클리핑 사각형에 대해 검사 않으면 싱크 필터는 단순히 모든 비디오를 렌더링하여 원본 필터에서 싱크 필터로 전달된 모든 클리핑 정보를 효과적으로 무시합니다.

이상적으로 싱크 필터는 rcSource를 확인하고 싱크 필터가 이미지 추출을 지원하지 않고 사각형이 비어 있지 않으면 연결을 거부합니다. 필터는 Win32 함수 SetRectEmpty를 사용하여 사각형을 모든 0으로 다시 설정하고 나중에 사각형을 검사 IsRectEmpty를 설정해야 합니다.

rcTarget 멤버는 비디오의 대상 사각형을 지정합니다. 대부분의 원본 필터는 이 멤버를 모든 0으로 설정합니다. 다운스트림 필터는 비디오를 제공하는 버퍼의 특정 영역에 배치할 것을 요청할 수 있습니다. 이 경우 대상 없음을 사용하여 Win32 함수 QueryAccept 를 호출합니다.

dwControlFlags 멤버에서 AMCONTROL_COLORINFO_PRESENT 플래그를 설정한 경우 dwControlFlags 값을 DXVA_ExtendedFormat 구조체로 캐스팅하여 확장된 색 정보에 액세스할 수 있습니다. 자세한 내용은 VIDEOINFOHEADER2 참조하세요.

요구 사항

요구 사항
헤더 ksmedia.h(Ksmedia.h 포함)

추가 정보

KS_BITMAPINFOHEADER

KS_DATARANGE_VIDEO2

KS_VIDEOINFOHEADER