¿La mejor manera de enumerar todos los códecs de video disponibles en Windows?

Estoy buscando una buena manera de enumerar todos los códecs de video en una máquina con Windows XP / Vista.

Necesito presentarle al usuario un conjunto de códecs de video, incluidos los compresores y descompresores. La salida se vería algo así

Available Decoders
DiVX Version 6.0
XVID
Motion JPEG
CompanyX's MPEG-2 Decoder
Windows Media Video

**Available Encoders**
DiVX Version 6.0
Windows Media Video

El problema con el que me encuentro es que no hay una forma confiable de capturar todos los decodificadores disponibles para el sistema. Por ejemplo:

Puede enumerar todos los descompresores usando DirectShow, pero esto no le dice nada sobre los compresores (codificadores).Puede enumerar todos los componentes de Video para Windows, pero no obtiene ninguna indicación si se trata de codificadores o decodificadores.Hay filtros DirectShow que pueden hacer el trabajo perfectamente por usted (filtro Motion JPEG, por ejemplo), pero no hay indicios de que un filtro DirectShow particular sea un "decodificador de video".

¿Alguien ha encontrado una solución generalizada para este problema utilizando alguna de las API de Windows? ¿Windows VistaAPI de Media Foundation resolver alguno de estos problemas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta