Compartir a través de


Administración de calidad de vídeo

En este tema se describen algunas mejoras en la canalización de vídeo en Windows 7, tanto para Microsoft Media Foundation como para Microsoft DirectShow.

En un mundo perfecto, el vídeo nunca se deslizaría, independientemente de la resolución de vídeo o la carga de CPU/GPU. En realidad, por supuesto, la canalización de vídeo debe ser capaz de hacer frente a los recursos finitos de hardware y debe adaptar la reproducción adaptable al entorno del sistema. Los objetivos de la administración de la calidad de vídeo son:

  • Reducir la reluz (caídas o fotogramas en tiempo de demora).
  • Reduzca el uso de memoria, especialmente en la GPU.
  • Reduzca el consumo de energía, especialmente en equipos portátiles que funcionan con batería.
  • Obtenga la mejor calidad de imagen posible, dadas las restricciones de recursos.
  • Mantener el vídeo sincronizado con el audio.

Algunos de estos objetivos son contrarios, especialmente en sistemas de gama baja. Por lo general, existe un equilibrio entre velocidad y calidad. El brillo es más censurable que las reducciones moderadas en la calidad visual. La importancia relativa del consumo de energía varía con el entorno; en un portátil que funciona con batería, es muy importante.

En Windows 7, el representador de vídeo mejorado (EVR) tiene mejor compatibilidad con la administración de calidad de vídeo. Tanto la canalización de Media Foundation como la canalización directShow se han actualizado para aprovechar estas funcionalidades. Se usa un enfoque de dos puntas:

  • Antes de que se inicie la reproducción, la canalización puede realizar optimizaciones estáticas, en función de la configuración de administración de energía del usuario e información sobre el hardware.
  • Una vez iniciada la reproducción, la canalización puede aplicar optimizaciones dinámicas, en función del rendimiento en tiempo de ejecución.

Administración de calidad en Media Foundation

Para habilitar las optimizaciones estáticas, establezca el atributo MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS en la topología parcial antes de resolver la topología. El cargador de topología consulta este atributo en su método IMFTopoLoader::Load.

Si habilita optimizaciones estáticas, debe establecer otros dos atributos en la topología:

Atributo Descripción
MF_TOPOLOGY_PLAYBACK_MAX_DIMS
Especifica el tamaño máximo de la ventana de reproducción de vídeo.
MF_TOPOLOGY_PLAYBACK_FRAMERATE
Especifica la frecuencia de actualización del monitor.

 

Estos dos atributos ayudan a la canalización a calcular la configuración más eficaz para la administración de calidad.

El administrador de calidad realiza optimizaciones dinámicas. No es necesario hacer nada para habilitar el administrador de calidad; se habilita automáticamente. El administrador de calidad existía en Windows Vista; en Windows 7, el EVR puede responder mejor a los mensajes del administrador de calidad.

Administración de calidad en DirectShow

DirectShow admite optimizaciones estáticas y dinámicas para la reproducción de DVD. Para habilitar estas optimizaciones en una aplicación de reproducción de DVD, establezca las marcas siguientes en el parámetro dwFlags del método IDvdGraphBuilder::RenderDvdVideoVolume:

Bandera Descripción
AM_DVD_ADAPT_GRAPH Habilita las optimizaciones estáticas.
AM_DVD_EVR_QOS Habilita las optimizaciones dinámicas.

 

Otras aplicaciones directShow pueden habilitar optimizaciones dinámicas llamando al método IEVRFilterConfigEx::SetConfigPrefs directamente en el filtro EVR. Especifique la marca EVRFilterConfigPrefs_EnableQoS.

Nota

Las optimizaciones estáticas en DirectShow se limitan a la reproducción de DVD.

 

Gestión de la calidad en el EVR

El EVR admite algunas marcas de configuración nuevas para la administración de calidad. Si habilita las optimizaciones de administración de calidad descritas anteriormente, no es necesario establecer estas marcas directamente. Sin embargo, se documentan para las aplicaciones que desean un control más granular sobre el EVR.

Establezca las marcas siguientes en el mezclador EVR llamando al método IMFVideoMixerControl2::SetMixingPrefs:

Banderas Descripción
  • MFVideoMixPrefs_ForceHalfInterlace
  • MFVideoMixPrefs_AllowDropToHalfInterlace
Omita el segundo campo de cada fotograma entrelazado.
  • MFVideoMixPrefs_AllowDropToBob
  • MFVideoMixPrefs_ForceBob
Usa la desinterlación bob, incluso si el controlador admite un modo de desinterlace de mayor calidad.

 

Establezca las marcas siguientes en el moderador del EVR llamando al método IMFVideoDisplayControl::SetRenderingPrefs:

Banderas Descripción
  • MFVideoRenderPrefs_ForceOutputThrottling
  • MFVideoRenderPrefs_AllowOutputThrottling
Limite la salida para que coincida con el ancho de banda de GPU.
  • MFVideoRenderPrefs_ForceBatching
  • MFVideoRenderPrefs_AllowBatching
Llamadas presentes de Batch Direct3D. Esta optimización permite al sistema entrar en estados inactivos con más frecuencia, lo que puede reducir el consumo de energía.
  • MFVideoRenderPrefs_ForceScaling
  • MFVideoRenderPrefs_AllowScaling
Realice la mezcla de vídeo mediante un rectángulo menor que el rectángulo de salida. Escale el resultado al tamaño de salida correcto.

 

Además, el receptor de medios EVR admite atributos de configuración que corresponden a cada una de estas marcas:

Antes de que se inicie la reproducción, puede establecer estos atributos directamente en el receptor multimedia EVR, como alternativa a llamar a los métodos deIMFVideoMixerControl2 yIMFVideoDisplayControl. Para establecer estos atributos, consulte el receptor de medios EVR para IMFAttributes.

de sesión multimedia de