다음을 통해 공유


KS_VBI_FRAME_INFO 구조체(ksmedia.h)

KS_VBI_FRAME_INFO 구조체는 VBI(세로 공백 간격) 스트림에 대한 KSSTREAM_HEADER 구조를 확장합니다.

구문

typedef struct tagKS_VBI_FRAME_INFO {
  ULONG                  ExtendedHeaderSize;
  DWORD                  dwFrameFlags;
  LONGLONG               PictureNumber;
  LONGLONG               DropCount;
  DWORD                  dwSamplingFrequency;
  KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
  KS_VBIINFOHEADER       VBIInfoHeader;
} KS_VBI_FRAME_INFO, *PKS_VBI_FRAME_INFO;

멤버

ExtendedHeaderSize

이 구조체의 크기를 지정합니다.

dwFrameFlags

캡처된 프레임에 대한 추가 정보를 나타내는 플래그를 지정합니다. 캡처하는 동안 minidriver는 이 멤버를 ksmedia.h에 정의된 다음 값 중 하나로 설정합니다.

플래그 의미
KS_VBI_FLAG_FIELD1 두 필드 시퀀스의 첫 번째 필드를 나타냅니다.
KS_VBI_FLAG_FIELD2 두 필드 시퀀스의 두 번째 필드를 나타냅니다.
KS_VBI_FLAG_MV_PRESENT 매크로 비전 보호 체계를 나타냅니다.
KS_VBI_FLAG_MV_HARDWARE 매크로 비전 하드웨어 지원을 나타냅니다.
KS_VBI_FLAG_MV_DETECTED 매크로 비전이 검색됨을 나타냅니다.
KS_VBI_FLAG_TVTUNER_CHANGE TvTunerChangeInfo 멤버 구조에 유효한 데이터가 포함되어 있음을 나타냅니다.
KS_VBI_FLAG_VBIINFOHEADER_CHANGE VBIInfoHeader 멤버 구조에 유효한 데이터가 포함되어 있음을 나타냅니다.

PictureNumber

현재 그림 번호를 나타내는 개수를 지정합니다. KSSTATE_ACQUIRE 전환 시 이 값을 초기화하거나 업데이트합니다.

DropCount

캡처되지 않은 그림 수를 지정합니다. 비디오를 캡처할 때 미니 드라이버는 이 멤버를 설정합니다. 이 카운터는 프레임을 캡처해야 하지만 캡처되지 않았을 때마다 증가해야 합니다. 이 조건은 일반적으로 캡처 중에 버퍼를 사용할 수 없는 경우에 발생합니다. KSSTATE_ACQUIRE 전환 시 이 값을 초기화하거나 업데이트합니다.

dwSamplingFrequency

헤르츠(Hz)의 샘플링 빈도를 지정합니다.

TvTunerChangeInfo

국가/지역 코드, 아날로그 비디오 표준 및 채널을 포함하여 현재 VBI 데이터 원본에 대한 정보를 지정합니다. 이 멤버는 dwFrameFlags 가 KS_VBI_FLAG_TVTUNER_CHANGE 플래그를 지정하는 경우에만 유효합니다.

VBIInfoHeader

시작선, 끝선, 샘플링 빈도 및 비디오 표준을 포함하여 현재 VBI 데이터 원본에 대한 정보를 지정합니다. 이 멤버는 dwFrameFlags 가 KS_VBI_FLAG_VBIINFOHEADER_CHANGE 플래그를 지정하는 경우에만 유효합니다.

설명

KS_VBI_FRAME_INFO 구조체는 캡처된 프레임에 대한 정보를 반환하고 VBI 디코더에 튜닝 정보를 제공하는 방법을 제공합니다.

PictureNumber 멤버 수는 스트림을 여는 데 사용되는 형식에 따라 현재 그림의 수를 나타냅니다. 이 개수는 디바이스에 따라 두 가지 방법 중 하나로 계산됩니다.

  1. 스트림이 시작된 이후의 시간을 측정하고 프레임 기간으로 나눕니다. 이 메서드는 자체 클록을 제공하지 않는 디바이스에 적합합니다. 예: PictureNumber = (CurrentStreamTime - StartStreamTime) / FrameDuration

  2. 캡처된 프레임 수와 삭제된 프레임 수를 함께 추가합니다. 이 메서드는 자체 클록을 제공하는 디바이스에 적합합니다. 예: PictureNumber = FramesCaptured + FramesDropped

PictureNumberDropCount를 계산할 때 스트림이 열릴 때 지정된 프레임 기간을 사용해야 합니다. 이는 디바이스가 실제로 이미지를 생성하는 속도와 반드시 일치하지 않을 수 있습니다. 예를 들어 USB 카메라는 7.5fps의 이미지만 생성할 수 있지만 클라이언트는 8fps로 스트림을 열 수 있습니다. 이 경우 모든 계산에서는 8fps 번호를 사용해야 합니다. PictureNumberDropCount를 업데이트하는 방법에 대한 자세한 내용은 비디오 캡처를 참조하세요.

dwSamplingFrequency 멤버는 Microsoft VBI 코덱에서 사용되지 않지만 다른 WDM 코덱에서 사용할 수 있습니다. VBIInfoHeader와 동일해야 합니다. SamplingFrequency 멤버입니다. 미니 드라이버는 dwFrameFlags 멤버에서 KS_VBI_FLAG_VBIINFOHEADER_CHANGE 비트를 설정하고 VBIInfoHeader 구조에서 dwSamplingFrequency를 포함한 모든 멤버를 입력하여 샘플링 빈도의 변화를 나타냅니다.

요구 사항

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

추가 정보

KSSTREAM_HEADER

KS_TVTUNER_CHANGE_INFO

KS_VBIINFOHEADER