Perfil de modo restringido y establecimiento de configuración

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Debido a la variedad de tipos de datos que directX VA puede descodificar y a las distintas configuraciones de descodificación admitidas en DirectX VA para cada uno de estos tipos de datos (por ejemplo, el uso de búferes de secuencia de bits frente a la descodificación de diferencia residual del host frente a idCT basado en acelerador con y sin cifrado de cada tipo de búfer relevante, etc.), creemos que sería algo ingaífico especificar simplemente un GUID único para cada tipo de datos único y la configuración de descodificación. Esto crearía un gran número de GUID (por ejemplo, hipotéticamente si hubiera 16 perfiles de DirectX VA y 16 configuraciones posibles para cada uno, tendría que haber 256 GUID definidos, que requieren 4 kilobytes de memoria solo para contenerlos todos. Este problema es la parte más difícil de determinar cómo asignar DirectX VA a IAMVideoAccelerator, con el resto de la definición operativa principalmente siendo bastante sencillo. Como resultado, se especifica un GUID único solo para cada tipo de datos (para cada perfil de modo restringido) y se permite asociar un GUID adicional a cada tipo de cifrado. A continuación, la configuración de descodificación se establece entre el descodificador y el acelerador mediante una negociación subordinada de nivel inferior mediante operaciones de sondeo y bloqueo para establecer configuraciones para cada tipo de función de VA de DirectX.