# Avisynth často kladené otázky (FAQ) - YV12

## Obsah

1. Co je YV12?
2. Kde mohu stáhnout poslední stabilní verzi AviSynthu, která podporuje YV12?
3. Kde mohu stáhnout plugin DGIndex/DGDecode, který podporuje YV12, pro import MPEG-1/MPEG-2/TS/PVA do AviSynthu ?
4. Které kódovací programy podporují YV12?
5. Jak mám použít v2.5x pokud kódovací programy nemohou zpracovat YV12 (jako TMPGEnc nebo CCE SP)?
6. Jaké jsou hlavní přednosti zpracování v YV12?
7. Jak mám použít VirtualDub/VirtualDubMod tak aby při tom neproběhly žádné zbytečné převody barev?
8. Které vnitřní filtry podporují YV12?
9. Které externí pluginy podporují YV12?
10. Jsou nějaké nedostatky zpracování v YV12?
11. Jak poznám jaké barevné prostředí používám v daném místě mého skriptu?
12. Barvy jsou prohozené, když načtu DivX soubor do AviSynthu v2.5?
13. Dostávám zelené (nebo vybarvené řádky) na levé nebo pravé straně klipu, jak se jich zbavím?
14. Nainstaloval jsem AviSynth v2.5 a dostávám následující chybovou zprávu: "Couldn't locate decompressor for format 'YV12' (unknown)."- Memohu najít dekompresor pro formát YV12?
15. Nainstaloval jsem AviSynth v2.5 a DivX5 (nebo jedno z posledních vydání Xvid Koepi), a po otevření mého avs skriptu ve VirtualDub/VirtualDubMod/MPEG-2 encoder vidím jen černý obraz?
16. 1Jsou nějaké bezeztrátové YV12 kodeky, které mohu použít například pro zachytávání?
17. Některé důležité odkazy

### Co je YV12?

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.

### Kde mohu stáhnout poslední stabilní verzi AviSynthu, která podporuje YV12?

"AviSynth v2.57" (a novější verze) můžete stáhnout zde.

### Kde mohu stáhnout plugin DGIndex/DGDecode, který podporuje YV12, pro import MPEG-1/MPEG-2/TS/PVA do AviSynthu ?

Poslední DGIndex/DGDecode combo může stáhnout zde.

### Které kódovací programy podporují YV12?

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.

### Jak mám použít v2.5x pokud kódovací programy nemohou zpracovat YV12 (jako TMPGEnc nebo CCE SP)?

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.

### Jaké jsou hlavní přednosti zpracování v YV12?

- urychlení:
  To zavisí plně na externích pluginech, jestli podporují YV12 nebo ne. Jestli ho podporují, lze očekávat urychlení o 25-35 procent. Velké urychlení bude samozřejmě pouze pokud jak váš zdroj tak i cíl jsou v YV12, například při převodu DVD do DivX/Xvid.
- žádné převody barev:
  Barevná informace se neinterpoluje (tak často) a proto zůstává realističtější.

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:

1. Všechno vnitřní zpracování v AviSynthu bude přeci jen rychlejší (je méně dat k filtrování, lepší struktura pro filtrováníto, a velmi rychlý převod z YV12 do YUY2), a určitě uvidíte rozdíl mezi v2.06 a v2.5.
2. Pokud vytváříte progresivní klip je zde ještě jedna výhoda. Odložením převodu YV12->YUY2 na konec skriptu vám dovolí provést nejdřív IVTC nebo Deinterlace (odstranění prokládání) k vytvoření progresivních snímků. Ale převod z YV12 do YUY2 na progresivních snímcích zachová více barevných detailů než převod na prokladaných nebo na polích založených snímcích .
   Převody barev:
   CCE: YV12 -> YUY2 -> YV12
   TMPGEnc: YV12 -> RGB24 -> YV12

### Jak mám použít VirtualDub/VirtualDubMod tak aby při tom neproběhly žádné zbytečné převody barev?

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.

### Které vnitřní filtry podporují YV12?

V principu všechny vnitřní filtry podporují YV12 nativně. Jaké barevné formáty filtry podporují je uvedeno v dokumentaci.

### Které externí pluginy podporují YV12?

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).

### Jsou nějaké nedostatky zpracování v YV12?

- Pokud není zdrojový formát YV12 (analogové zachytávání, DV) nebo konečný formát kódování není YV12, pak převod barevného formátu povede k interpolaci s určitým snížením kvality.
- Filtrování ořezaných barev může vést k určitému rozšíření barev v poměru k jasu pixelů, obzvláště pro prokládné video.
- Protože barevnost (chroma) se v prokládaném YV12 videu vyskytuje ve střídajících se řádcích, je nutné použít jinou nadvzorkovací/podvzorkovací metodu při převodu mezi YV12 a YUV 4:2:2 nebo RGB. To může vést k chybám nadvzorkování/podvzorkování pokud je ve videu použita nesprávná metoda převodu.
- Pokud je YV12 video uloženo v AVI kontejneru, neexistují žádná metadata pro indikování jestli je video prokládané a nebo progresivní. To znamená, že editor nebo komponenta dělá převod barevného prostředí a nemá při tom žádný snadný způsob pro výběr správné metody převodu (prokládaný nebo progresivní). Většina převodníků barevného prostředí předpokládá prograsivní, což může vést k chybám nadvzorkování/podvzorkování barevnosti, když je prokládané video zpracováno v takovém (progresivním) prostředí.

### Jak poznám jaké barevné prostředí používám v daném místě mého skriptu?

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!

### Barvy jsou prohozené, když načtu DivX soubor do AviSynthu v2.5?

To se stává kvůli chybě ve starých verzích DivX5. Stáhněte si poslední sestavu nebu použijte "SwapUV(klip)".

### Dostávám zelené (nebo vybarvené řádky) na levé nebo pravé straně klipu, jak se jich zbavím?

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:

- Zkuste kodekem dekódovat do RGB nebo YUY2 (použitím argumentu pixel_type= "..." v AviSource nebo DirectShowSource).
- Používejte kodek, který správně dekóduje YV12 klipy kde šířka nebo výška nejsou násobky 16.

### Nainstaloval jsem AviSynth v2.5 a dostávám následující chybovou zprávu: "Couldn't locate decompressor for format 'YV12' (unknown)."- Memohu najít dekompresor pro formát YV12?

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.

### Nainstaloval jsem AviSynth v2.5 a DivX5 (nebo jedno z posledních vydání Xvid Koepi), a po otevření mého avs skriptu ve VirtualDub/VirtualDubMod/MPEG-2 encoder vidím jen černý obraz?

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.

### Jsou nějaké bezeztrátové YV12 kodeky, které mohu použít například pro zachytávání?

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ů:

- VBLE Codec (by MarcFD): Kodek založený na Huffyuv [discussion].
- LocoCodec (by TheRealMoh): viz také zde
- ffvfw codec - má různé režimy, konkrétně HuffYUV yv12
- Lagarith codec (od Bena Greenwooda) - lepší komprese než Huffyuv, ale pomalejší

### Některé důležité odkazy:

- Technický popis YV12 (a podobných formátů)
- Dobrá stránka Microsoftu o YUV
- 4:2:0 Video Formáty

`$English Date: 2008/07/02 20:56:38 $`

Český překlad:27.10.2008