Perfil de modo restrito e estabelecimento de configuração

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Devido à variedade de tipos de dados que podem ser decodificados pelo DirectX VA e às várias configurações de decodificação com suporte no DirectX VA para cada um desses tipos de dados (por exemplo, usando buffers de bitstream versus decodificação de diferença residual de host versus IDCT baseado em acelerador com e sem criptografia de cada tipo relevante de buffer e assim por diante), acreditamos que seria um pouco desajeitado simplesmente especificar um GUID exclusivo para cada tipo de dados exclusivo e configuração de decodificação. Isso criaria um grande número de GUIDs (por exemplo, hipoteticamente, se houvesse 16 perfis de VA do DirectX e 16 configurações possíveis para cada um, precisaria haver 256 GUIDs definidos, exigindo 4 quilobytes de memória apenas para mantê-los todos. Esse problema é a parte mais difícil de determinar como mapear o DirectX VA para IAMVideoAccelerator, sendo o restante da definição operacional bastante simples. Como resultado, especificamos um GUID exclusivo somente para cada tipo de dados (para cada perfil de modo restrito) e permitimos que um GUID adicional seja associado a cada tipo de criptografia. A configuração de decodificação é estabelecida entre o decodificador e o acelerador por uma negociação subordinada de nível inferior usando operações de investigação e bloqueio para estabelecer configurações para cada tipo de função de VA do DirectX.