다음을 통해 공유


AV/C 스트리밍 형식 GUID

다른 커널 스트리밍 드라이버와 마찬가지로 AV/C 스트리밍 하위 단위 드라이버는 GUID 형식을 사용하여 각 핀에 대해 지원하는 데이터 형식의 범위를 지정합니다. 그런 다음 커널 스트리밍 애플리케이션은 이러한 형식 GUID를 사용하여 특정 데이터 형식에 대한 데이터 범위 교집합을 수행합니다. 결과는 채워진 KSDATAFORMAT 구조체입니다. 데이터 교차는 AVStream의 데이터 범위 교집합에서 자세히 설명합니다.

KSDATAFORMAT 구조체는 주 형식, 형식 하위 형식 및 지정자에 대한 GUID를 지정합니다. 지정자는 메모리의 KSDATAFORMAT 구조 다음에 나오는 확장 데이터 구조를 지정합니다. 예를 들어 데이터 형식에 KSDATAFORMAT_TYPE_INTERLEAVED 주요 형식, KSDATAFORMAT_SUBTYPE_DVSD 형식 하위 형식 및 KSDATAFORMAT_SPECIFIER_DVINFO 지정자가 있다고 가정합니다. 이 경우 확장 데이터 구조는 DVINFO 구조체입니다.

avcstrm.h 헤더 파일은 다음 스트리밍 형식 GUID를 정의합니다.

GUID 설명
KSDATAFORMAT_TYPE_INTERLEAVED 인터리브 오디오 및 비디오 신호를 지정합니다. 오디오가 포함된 모든 비디오 스트림은 이 GUID를 스트림의 유형으로 지정해야 합니다.
KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE 일반적인 188바이트 MPEG2 패킷 크기에서 벗어나는 MPEG2 스트림 형식을 지정합니다. KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE 형식은 IEC 61883-4 사양을 준수하는 스트림과 함께 사용됩니다. 이러한 스트림은 스트림이 일반적인 188 바이트 패킷과 다른 형식을 설명할 수 있도록 하는 MPEG2_TRANSPORT_STRIDE 구조를 사용합니다. 예를 들어 MPEG2_TRANSPORT_STRIDE dwOffset 멤버는 4, dwPacketLength 멤버는 188로, dwStride 멤버는 192로 설정됩니다.
KSDATAFORMAT_SUBTYPE_DVSD NTSC 신호에 4:1:1 샘플링 구조를 사용하거나 PAL 신호에 4:2:0 샘플링 구조를 사용하는 IEC 61883-2 표준 정의 25Mbps DV 신호를 지정합니다. 이 형식 하위 형식은 DVINFO 구조를 데이터 형식의 확장 데이터 구조로 사용합니다.
KSDATAFORMAT_SUBTYPE_DVSL IEC 61883-3 long-play 12.5-Mbps DVSD 신호를 지정합니다. 이 신호는 NTSC 또는 PAL 신호와 동일한 수의 줄을 가지지만 더 높은 압축 비율을 구현합니다. 이 형식 하위 형식은 DVINFO 구조를 데이터 형식의 확장 데이터 구조로 사용합니다.
KSDATAFORMAT_SUBTYPE_DVHD 1125줄 60Hz NTSC 신호 또는 1250줄 50Hz PAL 신호와 같은 IEC 61883-3 고화질 DV 신호를 지정합니다. 이 형식 하위 형식은 현재 지원되지 않습니다.
KSDATAFORMAT_SUBTYPE_DV25 NTSC 및 PAL 신호 모두에 대해 4:1:1 샘플링 구조를 사용하는 SMPTE 314M 25Mbps DVCPRO 비디오 신호를 지정합니다. 이 형식 하위 형식은 DVINFO 구조를 데이터 형식의 확장 데이터 구조로 사용합니다.
KSDATAFORMAT_SUBTYPE_DV50 NTSC 및 PAL 신호 모두에 4:2:2 샘플 구조를 사용하는 SMPTE 314M 50Mbps DVCPRO50 비디오 신호를 지정합니다. 이 형식 하위 형식은 DVINFO 구조를 데이터 형식의 확장 데이터 구조로 사용합니다.
KSDATAFORMAT_SUBTYPE_DVH1 720p(프로그레시브) 또는 1080i(인터레이스된) 신호와 같은 SMPTE 370M 100Mbps 고화질 DV 비디오 신호를 지정합니다. 이 형식 하위 형식은 DVINFO 구조를 데이터 형식의 확장 데이터 구조로 사용합니다.
KSDATAFORMAT_SPECIFIER_DVINFO 메모리의 KSDATAFORMAT에 따른 확장 데이터 구조로 DVINFO 구조를 지정합니다.
KSDATAFORMAT_SPECIFIER_DV_AVC DVINFO 및 AVCCONNECTINFO 구조를 메모리의 KSDATAFORMAT에 따른 확장 데이터 구조로 지정합니다.
KSDATAFORMAT_SPECIFIER_AVC AVCCONNECTINFO 구조를 메모리의 KSDATAFORMAT에 따른 확장 데이터 구조로 지정합니다. 이 지정자는 형식의 하위 형식에 따라 MPEG2TS 형식과 함께 사용할 수도 있습니다.
KSDATAFORMAT_SPECIFIER_61883_4 IEC 61883-4 프로토콜을 따르는 MPEG2-TS 형식을 지정합니다. 이 지정자는 확장된 데이터 구조를 사용하여 메모리의 KSDATAFORMAT를 따르지 않습니다.

의견

Avcstrm.sysMsdv.sys Windows Vista, Windows Server 2003 SP1(서비스 팩 1) 및 WINDOWS XP SP2(서비스 팩 2) 운영 체제의 KSDATAFORMAT_SUBTYPE_DV25, KSDATAFORMAT_SUBTYPE_DV50 및 KSDATAFORMAT_SUBTYPE_DVH1 형식 하위 형식을 지원합니다.

KSDATAFORMAT_SUBTYPE_DVSD 및 KSDATAFORMAT_SUBTYPE_DV25 형식 하위 형식은 NTSC에 대해 4:1:1 샘플링을 사용하여 호환됩니다. 그러나 PAL 형식의 KSDATAFORMAT_SUBTYPE_DV25 4:1:1 샘플링을 사용하지만 PAL 형식의 KSDATAFORMAT_SUBTYPE_DVSD 4:2:0 샘플링을 사용하므로 DVSD와 DV25를 구분합니다.

하위 단위 드라이버는 형식 하위 형식과 확장 데이터 구조의 조합으로 프레임 크기(샘플 크기)를 나타냅니다. 예를 들어 KSDATAFORMAT_SUBTYPE_DVSD 형식 하위 형식과 DVINFO 확장 데이터 구조에 설정된 NTSC 비트의 조합은 DV 프레임 크기가 120KB임을 나타냅니다.

KSDATAFORMAT 구조체에는 확장 데이터 구조 크기의 유효성을 검사하는 데 사용되는 FormatSize 멤버가 포함되어 있습니다. 즉, 유효한 확장 데이터 구조 크기에서 FormatSize는 sizeof(KSDATAFORMAT) + sizeof(extended-data structure)와 같습니다.

다음 표에서는 KS 데이터 형식 지정자 GUID 및 해당 확장 데이터 구조에 대해 설명합니다.

KS 데이터 형식 지정자 확장 데이터 구조
KSDATAFORMAT_SPECIFIER_DVINFO DVINFO
KSDATAFORMAT_SPECIFIER_DV_AVC DVINFOAVCCONNECTINFO
KSDATAFORMAT_SPECIFIER_AVC AVCCONNECTINFO
KSDATAFORMAT_SPECIFIER_61883_4 확장된 데이터 구조가 사용되지 않음

Microsoft Corporation은 Windows 98 SE를 사용하는msdv.sys 하위 단위 드라이버를 도입했습니다. 이 드라이버는 카메라 모드와 VTR(비디오 테이프 레코더) 모드 모두에서 대부분의 MiniDV 캠코더를 지원합니다.

Microsoft Corporation은 Windows Me를 사용하여mstape.sys 테이프 하위 단위 드라이버를 도입했습니다. 이 드라이버는 D-VHS 테이프 데크와 MPEG 캠코더 디바이스를 지원합니다.

참고

Microsoft는 DVCPro 형식 디코딩을 지원하는 코덱을 제공하지 않습니다.