estrutura KS_H264VIDEOINFO (ksmedia.h)

O KS_H264VIDEOINFO descreve os recursos de dispositivo que se aplicam ao tipo de mídia atual.

Sintaxe

typedef struct tagKS_H264VIDEOINFO {
  WORD  wWidth;
  WORD  wHeight;
  WORD  wSARwidth;
  WORD  wSARheight;
  WORD  wProfile;
  BYTE  bLevelIDC;
  WORD  wConstrainedToolset;
  DWORD bmSupportedUsages;
  WORD  bmCapabilities;
  DWORD bmSVCCapabilities;
  DWORD bmMVCCapabilities;
  DWORD dwFrameInterval;
  BYTE  bMaxCodecConfigDelay;
  BYTE  bmSupportedSliceModes;
  BYTE  bmSupportedSyncFrameTypes;
  BYTE  bResolutionScaling;
  BYTE  bSimulcastSupport;
  BYTE  bmSupportedRateControlModes;
  WORD  wMaxMBperSecOneResolutionNoScalability;
  WORD  wMaxMBperSecTwoResolutionsNoScalability;
  WORD  wMaxMBperSecThreeResolutionsNoScalability;
  WORD  wMaxMBperSecFourResolutionsNoScalability;
  WORD  wMaxMBperSecOneResolutionTemporalScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalScalablility;
  WORD  wMaxMBperSecThreeResolutionsTemporalScalability;
  WORD  wMaxMBperSecFourResolutionsTemporalScalability;
  WORD  wMaxMBperSecOneResolutionTemporalQualityScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalQualityScalability;
  WORD  wMaxMBperSecThreeResolutionsTemporalQualityScalablity;
  WORD  wMaxMBperSecFourResolutionsTemporalQualityScalability;
  WORD  wMaxMBperSecOneResolutionTemporalSpatialScalability;
  WORD  wMaxMBperSecTwoResolutionsTemporalSpatialScalability;
  WORD  wMaxMBperSecThreeResolutionsTemporalSpatialScalablity;
  WORD  wMaxMBperSecFourResolutionsTemporalSpatialScalability;
  WORD  wMaxMBperSecOneResolutionFullScalability;
  WORD  wMaxMBperSecTwoResolutionsFullScalability;
  WORD  wMaxMBperSecThreeResolutionsFullScalability;
  WORD  wMaxMBperSecFourResolutionsFullScalability;
} KS_H264VIDEOINFO, *PKS_H264VIDEOINFO;

Membros

wWidth

Especifica a largura em pixels de saída de imagens do processo de decodificação.

O valor desse membro deve ser um múltiplo de 2, mas não precisa ser um número inteiro múltiplo de 16. Ele pode ser especificado usando um retângulo de corte de quadros no SPS (Conjunto de Parâmetros de Sequência) ativo.

wHeight

Especifica a altura em pixels de saída de imagens do processo de decodificação.

O valor desse membro deve ser um múltiplo de 2. Quando a codificação de campo ou a codificação adaptável de quadro/campo é usada, ela deve ser um múltiplo de 4. Ele não precisa ser um múltiplo inteiro de 16. Ele pode ser especificado usando um retângulo de corte de quadro no SPS ativo.

wSARwidth

Especifica a largura da taxa de proporção de exemplo, conforme definido no Anexo E H.264.

Deve ser relativamente primo em relação ao wSARheight.

wSARheight

Especifica a altura da taxa de proporção de exemplo, conforme definido no Anexo E H.264.

Ele deve ser relativamente primo em relação à bSARwidth.

wProfile

Especifica os dois primeiros bytes do conjunto de parâmetros de sequência, conforme descrito por profile_idc e sinalizadores de restrição na especificação H.264.

Esse membro indica o perfil e as restrições aplicáveis a serem usadas.

Veja a seguir exemplos de valores permitidos:

Valor Descrição
0x4240 Perfil de linha de base restrito.
0x4200 Perfil de Linha de Base.
0x4D00 Perfil Principal.
0x6400 Alto Perfil.
0x5300 Perfil de linha de base escalonável.
0x5600 Perfil Alto Escalonável.
0x7600 Alto Perfil multivisor.
0x8000 Alto Perfil Estéreo.

bLevelIDC

Especifica o nível conforme descrito pelo sinalizador level_idc.

Esse membro indica o nível mínimo que dá suporte à resolução e à taxa de bits máxima para esse descritor de quadro.

Veja a seguir exemplos de valores permitidos:

Valor Descrição
0x1F Nível 3.1.
0x28 Nível 4.0.

wConstrainedToolset

Restringe os recursos permitidos por wProfile.

Valor Descrição
0 Sem restrições. Todas as ferramentas definidas pelo wProfile selecionado e pelo conjunto bmSetting são permitidas.
1 Conjunto de Ferramentas Altas Restritas de Comunicação Unificada (UC).
2 UC Scalable Constrained High1.
3 UC Scalable Constrained Baseline1.
4 a 65535 Reservado.

bmSupportedUsages

Define o bitmap que especifica os usos com suporte.

Bits Descrição
D0 Em tempo real/UCConfig (Configuração de Comunicação Unificada) modo 0.
D1 Em tempo real/UCConfig modo 1.
D2 Modo UCConfig/em tempo real 2Q.
D3 Modo 2S em tempo real/UCConfig.
D4 Em tempo real/UCConfig modo 3.
D7-D5 Reservados; definido como 0.
D15-D8 Modos de difusão.
D16 Modo de armazenamento de arquivos com fatias de E/S (por exemplo, IPPP).
D17 Modo de armazenamento de arquivos com fatias I, P e B (por exemplo, IB... IP).
D18 Modo de todos os quadros de armazenamento de arquivos.
D23-D19 Reservados; definido como 0.
D24 Modo Alto Estéreo MVC.
D25 Modo MVC Multiview.
D31-D26 Reservados; definido como 0.

bmCapabilities

Define o bitmap que especifica os recursos para esse descritor de quadro.

Bits Descrição
D0 Codificação de comprimento de variável adaptável baseada em contexto (CAVLC ) somente.
D1 Codificação Aritmética Binária Adaptável baseada em contexto (CABAC).
D2 Taxa de quadros constante.
D3 Separar QP para luma/chroma.
D4 Separar QP para Cb/Cr.
D5 Nenhuma reordenação de imagem.
D15-D6 Reservados; definido como 0.

bmSVCCapabilities

Define o bitmap que especifica os recursos de SVC (Codificação de Vídeo Escalonável).

Bits Descrição
D2-D0 Número máximo de camadas temporais menos 1.
D3 Reescreva o suporte.
D6-D4 Número máximo de camadas CGS (Escalabilidade Granular Grosseira) menos 1.
D9-D7 Número máximo de subcamadas mgs (escalabilidade média granular).
D10 Suporte adicional à escalabilidade de SNR em camadas de aprimoramento espacial.
D13-D11 Número máximo de camadas espaciais menos 1.
D31-D14 Reservado.

bmMVCCapabilities

Define o bitmap que especifica os recursos de MVC (Multicast Video Coding).

Bits Descrição
D2-D0 Número máximo de camadas temporais menos 1.
D11-D3 Número máximo de componentes de exibição menos 1.
D31-D11 Reservado.

dwFrameInterval

Especifica o intervalo de quadros com suporte.

Esse é o intervalo de quadros mais curto com suporte, na taxa de quadros mais alta, em unidades de 100 nanossegundos.

bMaxCodecConfigDelay

Especifica o número máximo de quadros que o codificador usa para responder a um comando.

bmSupportedSliceModes

Define o bitmap que especifica os modos de fatia.

Bits Descrição
D0 Modo de fatia 0.
D1 Modo de fatia 1.
D7-D2 Reservado.

bmSupportedSyncFrameTypes

Define o membro BYTEbmSupportedSyncFrameTypes.

bResolutionScaling

Define o bitmap que especifica os tipos de quadro de sincronização.

Bits Descrição
D0 Quadro IDR (Atualização de Decodificação Instantânea) com cabeçalhos do Conjunto de Parâmetros de Sequência (SPS) e PPS (Conjunto de Parâmetros de Imagem).
D1 Quadro IDR (com cabeçalhos SPS e PPS) que é um quadro de referência de longo prazo.
D2 Quadro I de acesso aleatório (com cabeçalhos SPS e PPS), que pode ou não ser um quadro IDR.
D3 Quadro P que é um quadro de referência de longo prazo.
D7-D4 Reservados; definido como 0.

bSimulcastSupport

Especifica o número de pontos de extremidade de streaming de vídeo H.264 e o número de fluxos compatíveis com esse ponto de extremidade.

Valor Descrição
0 Um ponto de extremidade e um fluxo.
1 Um ponto de extremidade e vários fluxos.

bmSupportedRateControlModes

Define o bitmap que especifica os modos de controle de taxa.

Bits Descrição
D0 VBR (taxa de bits variável) com fluxo de subfluxo permitido (H.264 low_delay_hrd_flag = 1).
D1 CBR (taxa de bits constante) (H.264 low_delay_hrd_flag = 0).
D2 QP constante.
D3 VBR global com fluxo de subfluxo permitido (H.264 low_delay_hrd_flag = 1).
D4 VBR sem fluxo inferior (H.264 low_delay_hrd_flag = 0).
D5 VBR global sem subfluxo (H.264 low_delay_hrd_flag = 0).
D7-D6 Reservado, definido como 0.

wMaxMBperSecOneResolutionNoScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos AVC (Advanced Video Coding) não escalonáveis, somando todas as camadas quando todas as camadas tiverem a mesma resolução.

wMaxMBperSecTwoResolutionsNoScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos AVC não escalonáveis, somando todas as camadas quando todas as camadas consistem em duas resoluções diferentes.

wMaxMBperSecThreeResolutionsNoScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos AVC não escalonáveis, somando todas as camadas quando todas as camadas consistem em três resoluções diferentes.

wMaxMBperSecFourResolutionsNoScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos AVC não escalonáveis, somando todas as camadas quando todas as camadas consistem em quatro resoluções diferentes.

wMaxMBperSecOneResolutionTemporalScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos escalonáveis temporais, somando todas as camadas quando todas as camadas tiverem a mesma resolução.

wMaxMBperSecTwoResolutionsTemporalScalablility

Especifica a taxa máxima de processamento de macroblock permitida para fluxos escalonáveis temporais, somando todas as camadas quando todas as camadas consistem em duas resoluções diferentes.

wMaxMBperSecThreeResolutionsTemporalScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos escalonáveis temporais, somando todas as camadas quando todas as camadas consistem em três resoluções diferentes.

wMaxMBperSecFourResolutionsTemporalScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos totalmente escalonáveis, somando todas as camadas quando todas as camadas consistem em quatro resoluções diferentes.

wMaxMBperSecOneResolutionTemporalQualityScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos SVC escalonáveis temporais e de qualidade, somando todas as camadas quando todas as camadas tiverem a mesma resolução.

wMaxMBperSecTwoResolutionsTemporalQualityScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos SVC escalonáveis temporais e de qualidade, somando todas as camadas quando todas as camadas consistem em duas resoluções diferentes.

wMaxMBperSecThreeResolutionsTemporalQualityScalablity

Especifica a taxa máxima de processamento de macroblock permitida para fluxos SVC escalonáveis temporais e de qualidade, somando todas as camadas quando todas as camadas consistem em três resoluções diferentes.

wMaxMBperSecFourResolutionsTemporalQualityScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos SVC escalonáveis temporais e de qualidade, somando todas as camadas quando todas as camadas consistem em quatro resoluções diferentes.

wMaxMBperSecOneResolutionTemporalSpatialScalability

Define o membro do WORDwMaxMBperSecOneResolutionTemporalSpatialScalability.

wMaxMBperSecTwoResolutionsTemporalSpatialScalability

Define o membro do WORDwMaxMBperSecTwoResolutionsTemporalSpatialScalability.

wMaxMBperSecThreeResolutionsTemporalSpatialScalablity

Define o membro do WORDwMaxMBperSecThreeResolutionsTemporalSpatialScalablity.

wMaxMBperSecFourResolutionsTemporalSpatialScalability

Define o membro do WORDwMaxMBperSecFourResolutionsTemporalSpatialScalability.

wMaxMBperSecOneResolutionFullScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos totalmente escalonáveis, somando todas as camadas quando todas as camadas tiverem a mesma resolução.

wMaxMBperSecTwoResolutionsFullScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos totalmente escalonáveis, somando todas as camadas quando todas as camadas consistem em duas resoluções diferentes.

wMaxMBperSecThreeResolutionsFullScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos totalmente escalonáveis, somando todas as camadas quando todas as camadas consistem em três resoluções diferentes.

wMaxMBperSecFourResolutionsFullScalability

Especifica a taxa máxima de processamento de macroblock permitida para fluxos totalmente escalonáveis, somando todas as camadas quando todas as camadas consistem em quatro resoluções diferentes.

Comentários

A estrutura KS_H264VIDEOINFO contém o quadro e as informações do descritor de formato.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Cabeçalho ksmedia.h (inclua Ksmedia.h)

Confira também

KS_DATAFORMAT_H264VIDEOINFO

KS_DATARANGE_H264_VIDEO