Je několik různých způsobů reprezentování barev. Například: YUV a RGB barevná prostředí. V YUV barevném prostředí je jedna složka, která reprezentuje jas (luma) a dvě další složky, které reprezentují barevnost (chroma). Ve chvíli, kdy se jas předává se všemy detaily, detaily v barevných složkách mohou být redukovány snížením počtu vzorků - podvzorkováním (filtrace, nebo průměrování) což může být provedeno několika způsoby (Proto existuje řada formátů pro uchování obrazu v YUV barevném prostředí). YV12 je takový formát (kde je barva sdílená pro bloky 2x2 pixely), který je podporován AviSynthem. Mnoho důležitých kodeků uchovává video v YV12: MPEG-4 (x264, XviD, DivX a mnohé další), MPEG-2 na DVD, MPEG-1 a MJPEG.
"AviSynth v2.57" (a novější verze) můžete stáhnout zde.
Poslední DGIndex/DGDecode combo může stáhnout zde.
Standartní sestavy Virtualdubu (od Avery Lee) mají podporu YV12 v režimu fast recompress
(rychlá rekomprese) od v1.5.6. Jsou také další dvě možnosti kódování do DivX/XviD:
Je modifikovaná verze (nazývaná VirtualdubMod), která má podporu YV12 : Tato modifikace (od pulco-citron, Suiryc a Belgabor) má podporu OGM a AVS-náhledu. Můžete ho stáhnout
zde. Aby jste mohli využít podporu YV12 (bez
provádění jakýchkoliv převodů barev) musíte otevřít vaše AVI ve VirtualdubMod a vybrat režim "rychlá rekomprese ("fast recompress").
Pro snadnou (a rychlou) podporu YV12 , můžete také zkusit utilitu ovládanou z příkazového řádku
AVS2AVI - komprimuje video ze skriptu AviSynthu použitím VFW kodeku, viz. také
zde.
MPEG-1/MPEG-2 kodeky HC a
QuEnc také
podporují (a dokonce vyžadují) YV12.
Při použití TMPGEnc musíte přidat řádek "ConvertToRGB24" (s případnou volbou "interlaced") do vašeho skriptu, a pro CCE SP potřebujete přidat řádek "ConvertToYUY2 " , protože Windows nemá vnitřní YV12 kompresor.
Můžete také naistalovat některé YV12 dekompresory (kodeky), které vám dekomprimují YV12-AVI , když načítáte avi do TMPGEnc nebo CCE SP.
MPEG-2 enkodéry jako CCE, Procoder a TMPGEnc nepodporují YV12 vstup přímo. CCE a Procoder potřebují YUY2, a TMPGEnc RGB24. To pouze znamená, že poslední řádek skriptu AviSynthu musí být ConvertToYUY2 (pro CCE/Procoder, nebo ConvertToRGB24 pro TMPGEnc), a proto nemůžete plně využít výhod barevného prostředí YV12. Stále zůstávají dvě výhody:
Prostě načtěte váš avs soubor
do VirtualDub/VirtualdubMod a nastavte v menu video "rychlá
rekomprese" ("Fast recompress"). V tomto režimu zůstane zpracování ve formátu YV12 (veškerá nutná filtrace musí být provedena v samotném AviSynthu). V menu "komprese" ("compression") vyberte kodek který podporuje YV12, jako Xvid, DivX5, RealVideo (za předpokladu, že použijete poslední verze) nebo 3ivx D4 (za předpokladu, že použijete poslední verze). Všimněte si, že DivX3/4 také podporují YV12, kromě toho, že uživatelé PIV mohou zažít padání při kódování do DivX4 v YV12.
Pokud
chcete prohlížet video potřebujete také YV12 dekompresor.
V principu všechny vnitřní filtry podporují YV12 nativně. Jaké barevné formáty filtry podporují je uvedeno v dokumentaci.
Pluginy, které jsou kompilovány pro AviSynth v2.5 jsou uvedeny v části Externí pluginy. Nové pluginy jsou vyjmenovány v tomto dodatku. Většina z nich podporuje YV12 (viz. jejich dokumentace).
Aby jste viděli jaké barevné prostředí používáte v daném místě skriptu, přidejte:
Info()
... a AviSynth vám dá řadu informací o barevném prostředí a mnoho dalšího!
To se stává kvůli chybě ve starých verzích DivX5. Stáhněte si poslední sestavu nebu použijte "SwapUV(klip)".
Váš dekodér je pravděpodobně špatný, zkuste použít ConvertToRGB() na konci vašeho skriptu, aby jste se ujistili a zkontrolovali zda řádek nezmizel. Některé aplikace mají problémy se zobrazením YV12 klipů kde šířka nebo výška není násobkem 16.
Existuje několik řešení tohoto problému:
Nainstalujte kodek, který podporuje YV12. DivX5 nebo některou z posledních sestav XviD nebo Helix YUV codec nebo nějaký jiný (ffvfw, ffdshow). Pokud to stále nefunguje, upravte váš registr tak, jak je uvedeno u následujícího dotazu.
Ok, jak je vidět vaše video není dekomprimováno DivX 5.02 (nebo Xvid). Zkuste použít VCSwap utiliti pro přepnutí video kodeků.
Zkušený uživatel to může udělat také ručně. Jděte do složky Windows a přejmenujte soubor MSYUV.DLL, nebo přidejte do registru toto:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32] "VIDC.YV12"="divx.dll"
Nahraďte soubor "divx.dll" souborem "xvid.dll" pro xvid v0.9 nebo "xvidvfw.dll" pro xvid v1.0.
Zachytávání v YV12 se nedoporučuje kvůli problémům s prokláním a berevností ; YUY2 bude obecně znamenat méně problémů. Bezeztrátový YV12 kodek je užitečnější pro ukládání mezisouborů před víceprůchodovým kódováním, aby se nemusely několikrát spouštět pro pro CPU náročné skripty. Existuje několik bezeztrátových YV12 kodeků:
$English Date: 2008/07/02 20:56:38 $
Český překlad:27.10.2008