GUIDs de formato de streaming AV/C
Como qualquer driver de streaming de kernel, um driver de subunidade de Streaming AV/C especifica o intervalo de formatos de dados que ele dá suporte para cada pino usando GUIDs de formato. Em seguida, um aplicativo de streaming de kernel usa esses GUIDs de formato para executar uma interseção de intervalo de dados para um formato de dados específico. O resultado é uma estrutura KSDATAFORMAT preenchida. A interseção de dados é descrita ainda mais em Interseções de Intervalo de Dados no AVStream.
Uma estrutura KSDATAFORMAT especifica GUIDs para seu formato principal, subtipo de formato e especificador. O especificador designa a estrutura de dados estendidos que segue a estrutura KSDATAFORMAT na memória. Por exemplo, suponha que um formato de dados tenha um formato principal de KSDATAFORMAT_TYPE_INTERLEAVED, um subtipo de formato de KSDATAFORMAT_SUBTYPE_DVSD e um especificador de KSDATAFORMAT_SPECIFIER_DVINFO. Nesse caso, a estrutura de dados estendidos é a estrutura DVINFO .
O arquivo de cabeçalho avcstrm.h define os seguintes GUIDs de formato de streaming:
GUID | Descrição |
---|---|
KSDATAFORMAT_TYPE_INTERLEAVED | Designa um sinal de áudio e vídeo intercalados. Qualquer fluxo de vídeo que contenha áudio deve especificar esse GUID como o tipo do fluxo. |
KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE | Designa um tipo de fluxo MPEG2 que se desvia do tamanho normal do pacote MPEG2 de 188 bytes. O tipo KSDATAFORMAT_TYPE_MPEG2_TRANSPORT_STRIDE é usado com fluxos que estão em conformidade com a especificação IEC 61883-4. Esses fluxos usam a estrutura MPEG2_TRANSPORT_STRIDE que permite que o fluxo descreva o formato diferente do pacote típico de 188 bytes. Por exemplo, o membro dwOffset do MPEG2_TRANSPORT_STRIDE seria definido como 4, o membro dwPacketLength como 188 e o membro dwStride como 192. |
KSDATAFORMAT_SUBTYPE_DVSD | Designa um sinal DE DV de definição padrão IEC 61883-2 de 25 Mbps que usa uma estrutura de amostragem 4:1:1 para sinais NTSC ou que usa uma estrutura de amostragem 4:2:0 para sinais PAL. Esse subtipo de formato usa a estrutura DVINFO como a estrutura de dados estendidos do formato de dados. |
KSDATAFORMAT_SUBTYPE_DVSL | Designa um sinal DVSD IEC 61883-3 long-play de 12,5 Mbps, que tem o mesmo número de linhas que o sinal NTSC ou PAL, mas implementa uma taxa de compactação mais alta. Esse subtipo de formato usa a estrutura DVINFO como a estrutura de dados estendidos do formato de dados. |
KSDATAFORMAT_SUBTYPE_DVHD | Designa um sinal DV de alta definição IEC 61883-3, como um sinal NTSC de 60 Hz de linha 1125 ou um sinal PAL de 50 Hz de linha 1250. No momento, não há suporte para esse subtipo de formato. |
KSDATAFORMAT_SUBTYPE_DV25 | Designa um sinal de vídeo DVCPRO SMPTE 314M 25 Mbps que usa uma estrutura de amostragem 4:1:1 para sinais NTSC e PAL. Esse subtipo de formato usa a estrutura DVINFO como a estrutura de dados estendidos do formato de dados. |
KSDATAFORMAT_SUBTYPE_DV50 | Designa um sinal de vídeo DVCPRO50 de SMPTE de 314M 50 Mbps que usa uma estrutura de exemplo 4:2:2 para sinais NTSC e PAL. Esse subtipo de formato usa a estrutura DVINFO como a estrutura de dados estendidos do formato de dados. |
KSDATAFORMAT_SUBTYPE_DVH1 | Designa um sinal de vídeo DV de alta definição SMPTE 370M 100 Mbps, como um sinal de 720p (progressivo) ou 1080i (entrelaçado). Esse subtipo de formato usa a estrutura DVINFO como a estrutura de dados estendidos do formato de dados. |
KSDATAFORMAT_SPECIFIER_DVINFO | Designa a estrutura DVINFO como a estrutura de dados estendidos seguindo o KSDATAFORMAT na memória. |
KSDATAFORMAT_SPECIFIER_DV_AVC | Designa as estruturas DVINFO e AVCCONNECTINFO como as estruturas de dados estendidos seguindo o KSDATAFORMAT na memória. |
KSDATAFORMAT_SPECIFIER_AVC | Designa a estrutura AVCCONNECTINFO como a estrutura de dados estendidos seguindo o KSDATAFORMAT na memória. Esse especificador também pode ser usado com um formato MPEG2TS, dependendo do subtipo do formato. |
KSDATAFORMAT_SPECIFIER_61883_4 | Designa um formato MPEG2-TS que segue o protocolo IEC 61883-4. Esse especificador não usa nenhuma estrutura de dados estendida para seguir o KSDATAFORMAT na memória. |
Comentários
Avcstrm.sys e Msdv.sys dão suporte aos subtipos de formato KSDATAFORMAT_SUBTYPE_DV25, KSDATAFORMAT_SUBTYPE_DV50 e KSDATAFORMAT_SUBTYPE_DVH1 nos sistemas operacionais Windows Vista, Windows Server 2003 com Service Pack 1 (SP1) e Windows XP com service pack 2 (SP2).
Observe que os subtipos de formato KSDATAFORMAT_SUBTYPE_DVSD e KSDATAFORMAT_SUBTYPE_DV25 são compatíveis usando a amostragem 4:1:1 para NTSC. No entanto, o KSDATAFORMAT_SUBTYPE_DV25 para o formato PAL usa amostragem 4:1:1, mas o KSDATAFORMAT_SUBTYPE_DVSD para o formato PAL usa amostragem 4:2:0, portanto, a distinção entre DVSD e DV25.
Um driver de subunidade indica o tamanho do quadro (tamanho da amostra) pela combinação de seu subtipo de formato e sua estrutura de dados estendidos. Por exemplo, a combinação do subtipo de formato KSDATAFORMAT_SUBTYPE_DVSD e o bit NTSC definido na estrutura de dados estendidos DVINFO indica um tamanho de quadro DV de 120 KB.
A estrutura KSDATAFORMAT contém um membro FormatSize usado para validar o tamanho da estrutura de dados estendidos. Ou seja, em tamanhos válidos de estrutura de dados estendidos FormatSize é igual a sizeof(KSDATAFORMAT) + sizeof(extended-data structure(s)).
A tabela a seguir descreve os GUIDs do especificador de formato de dados KS e suas estruturas de dados estendidos correspondentes.
Especificador de formato de dados KS | Estrutura de dados estendidos |
---|---|
KSDATAFORMAT_SPECIFIER_DVINFO | DVINFO |
KSDATAFORMAT_SPECIFIER_DV_AVC | DVINFO e AVCCONNECTINFO |
KSDATAFORMAT_SPECIFIER_AVC | AVCCONNECTINFO |
KSDATAFORMAT_SPECIFIER_61883_4 | Nenhuma estrutura de dados estendida é usada |
A Microsoft Corporation introduziu o driver de subunidademsdv.syscom o Windows 98 SE. Esse driver dá suporte à maioria das filmadoras miniDV no modo de câmera e no modo VTR (Gravador de Fita de Vídeo).
A Microsoft Corporation introduziu o driver de subunidade de fitamstape.syscom o Windows Me. Esse driver dá suporte a decks de fita D-VHS e dispositivos de filmador MPEG.
Observação
A Microsoft não fornece um codec para dar suporte à decodificação de formato DVCPro.