Sdílet prostřednictvím


Správa kvality videa

Toto téma popisuje některá vylepšení kanálu videa ve Windows 7, a to jak pro Microsoft Media Foundation, tak pro Microsoft DirectShow.

V dokonalém světě by video nikdy nezkřížilo bez ohledu na rozlišení videa nebo zatížení PROCESORu/GPU. Ve skutečnosti musí být samozřejmě kanál videa schopný vyrovnat se s konečnými hardwarovými prostředky a musí adaptivní přizpůsobení přehrávání systémovému prostředí. Cílem správy kvality videa je:

  • Snižte svědění (zahozené nebo pozdní snímky).
  • Snižte využití paměti, zejména v GPU.
  • Snižte spotřebu energie, zejména v přenosných počítačích běžících na napájení baterie.
  • Získejte nejlepší možnou kvalitu obrázků vzhledem k omezením prostředků.
  • Udržujte video synchronizované se zvukem.

Některé z těchto cílů jsou naopak, zejména v nízko-endových systémech. Obecně existuje kompromis mezi rychlostí a kvalitou. Gl svědění je obtížnější než mírné snížení vizuální kvality. Relativní důležitost spotřeby energie se liší v prostředí; v přenosném počítači, který běží na napájení baterie, je velmi důležité.

Ve Windows 7 má vylepšený renderer videa (EVR) lepší podporu správy kvality videa. Kanál Media Foundation i kanál DirectShow byly aktualizovány, aby využívaly tyto funkce. Používá se dvoustupňový přístup:

  • Před zahájením přehrávání může kanál provádět statické optimalizace na základě nastavení řízení spotřeby a informací o hardwaru uživatele.
  • Po spuštění přehrávání může kanál použít dynamické optimalizace na základě výkonu za běhu.

Správa kvality ve službě Media Foundation

Pokud chcete povolit statické optimalizace, nastavte před překladem topologie atribut MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS v částečné topologii. Zavaděč topologie dotazuje tento atribut v jeho DATACENTERTopoLoader::Load metoda.

Pokud povolíte statické optimalizace, měli byste v topologii nastavit dva další atributy:

Atribut Popis
MF_TOPOLOGY_PLAYBACK_MAX_DIMS
Určuje maximální velikost okna přehrávání videa.
MF_TOPOLOGY_PLAYBACK_FRAMERATE
Určuje frekvenci aktualizace monitoru.

 

Tyto dva atributy pomáhají kanálu vypočítat nejúčinnější nastavení pro správu kvality.

Dynamické optimalizace provádí správce kvality. Nemusíte dělat nic, abyste povolili manažera kvality; je automaticky povolen. Správce kvality existoval v systému Windows Vista; ve Windows 7 může EVR lépe reagovat na zprávy od správce kvality.

Správa kvality v DirectShow

DirectShow podporuje statické a dynamické optimalizace pro přehrávání DVD. Chcete-li povolit tyto optimalizace v aplikaci pro přehrávání DVD, nastavte následující příznaky v dwFlags parametru IDvdGraphBuilder::RenderDvdVideoVolume metoda:

Vlajka Popis
AM_DVD_ADAPT_GRAPH Umožňuje statické optimalizace.
AM_DVD_EVR_QOS Umožňuje dynamické optimalizace.

 

Jiné aplikace DirectShow mohou povolit dynamické optimalizace voláním IEVRFilterConfigEx::SetConfigPrefs metoda přímo ve filtru EVR. Zadejte příznak EVRFilterConfigPrefs_EnableQoS.

Poznámka

Statické optimalizace v DirectShow jsou omezené na přehrávání DVD.

 

Řízení kvality v EVR

EVR podporuje některé nové příznaky konfigurace pro správu kvality. Pokud povolíte optimalizace správy kvality popsané výše, nemusíte tyto příznaky nastavovat přímo. Jsou však zdokumentované pro aplikace, které chtějí podrobnější kontrolu nad EVR.

Nastavte následující příznaky na EVR mixér voláním MMFVideoMixerControl2::Set MixPrefs metoda:

Vlajky Popis
  • MFVideoMixPrefs_ForceHalfInterlace
  • MFVideoMixPrefs_AllowDropToHalfInterlace
Přeskočte druhé pole každého prokládaného rámce.
  • MFVideoMixPrefs_AllowDropToBob
  • MFVideoMixPrefs_ForceBob
Používejte deinterlacing boba, i když ovladač podporuje režim deinterlace vyšší kvality.

 

Nastavte následující příznaky pro prezentujícího EVR voláním MMFVideoDisplayControl::SetRenderingPrefs metoda:

Vlajky Popis
  • MFVideoRenderPrefs_ForceOutputThrottling
  • MFVideoRenderPrefs_AllowOutputThrottling
Omezte výstup tak, aby odpovídal šířce pásma GPU.
  • MFVideoRenderPrefs_ForceBatching
  • MFVideoRenderPrefs_AllowBatching
Dávkové volání Direct3D Present. Tato optimalizace umožňuje systému vstoupit do nečinných stavů častěji, což může snížit spotřebu energie.
  • MFVideoRenderPrefs_ForceScaling
  • MFVideoRenderPrefs_AllowScaling
Provádějte kombinování videa pomocí obdélníku menšího než výstupního obdélníku. Škálujte výsledek na správnou velikost výstupu.

 

Kromě toho jímka médií EVR podporuje atributy konfigurace, které odpovídají jednotlivým příznakům:

Před zahájením přehrávání můžete tyto atributy nastavit přímo na jímce médií EVR, jako alternativu k volání MMFVideoMixerControl2 a MMFVideoDisplayControl metody. Chcete-li nastavit tyto atributy, zadejte dotaz na jímku médií EVR pro MMFAttributes.

media session