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 |
---|---|
|
Přeskočte druhé pole každého prokládaného rámce. |
|
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 |
---|---|
|
Omezte výstup tak, aby odpovídal šířce pásma GPU. |
|
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. |
|
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:
- EVRConfig_AllowBatching
- EVRConfig_AllowDropToBob
- EVRConfig_AllowDropToHalfInterlace
- EVRConfig_AllowScaling
- EVRConfig_AllowDropToThrottle
- EVRConfig_ForceBatching
- EVRConfig_ForceBob
- EVRConfig_ForceHalfInterlace
- EVRConfig_ForceScaling
- EVRConfig_ForceThrottle
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.
Související témata