## Avisynth Frequently Asked Questions

Nota: una versione più aggiornata la si trona su http://www.avisynth.org

Queste faq sono suddivise in 4 sezioni: una generale, una relativa al frameserving, una relativa a filtri e plugins, e una relativa all'importazione dei filtri di VirtualDub. Recentemente, il vecchio materiale "relativo ad AviSynth v2.06 e versioni più vecchie" è stato eliminato. Quindi, se avete problemi, vedete di installare una versione di AviSynth più recente .

S1: Su AviSynth
S2: AviSynth ed il frameserving
S3: Filtri, plugins e colorspaces
S4: Importazione di filtri da VirtualDub

S1: Su AviSynth:

Q1.1: Cos'è AviSynth ?
Q1.2: Chi sta sviluppando AviSynth ?
Q1.3: Dove posso scaricare l'ultima versione di AviSynth AviSynth ?
Q1.4: Quali sono i principali bugs in queste versioni ?
Q1.5: Dove si può trovare documentazione su AviSynth ?
Q1.6: Come installare/disinstallare AviSynth ?
Q1.7: Che differenze ci sono tra v1.0x, v2.0x or v2.5x ?
Q1.8: I plugins compilati per v2.5x sono compatibile con v1.0x/v2.0x and vice versa ?
Q1.9: Quali programmi di codifica supportano YV12 ?
Q1.10: Come si ua v2.5x se i programmi di encoding non gestiscono YV12 (come Virtualdub, TMPGEnc o CCE SP) ?
Q1.11: Come si usa Avisynth 2.5 con GordianKnot?
Q1.12: Quali sono i principali benefici nell'usare YV12 ?
Q1.13: C'è una command line utility per codificare DivX/Xvid usando AviSynth ?
Q1.14: Dove posso trovare VCF2AVS ?
Q1.15: Come si usa in 2.5x un plugin compilato per la 2.0x ?
Q1.16: Come posso switchare da una versione all'altra di AviSynth senza reinstallare ?
Q1.17: Come si fa un file AVS ?
Q1.18: Dove si devono salvare i files AVS ?
Q1.19: Come si fa a sapere che versione di AviSynth si sta usando ?
Q1.20: AviSynth ha una GUI (graphical user interface) ?
Q1.21: Mi ha segnalato "LoadPlugin: unable to load "xxx" is not an AviSynth 1.0/AviSynth 2.5 plugin ?
Q1.22: Come faccio a sapere che color space è attualmente attivo in uno script ?
Q1.23: Ho installato AviSynth v2.5 e con DivX5 (o XviD), tutto quello che vedo quando apro il mio avs in Virtualdub/VirtualdubMod/CCE/TMPGEnc è uno schermo nero ?
Q1.24: Il mio computer sembra crashare a caso durante il 2° passo e con ogni encoder ?
Q1.25: VirtualdubMod, WMP6.4, CCE e altri programmi crashano tutte le volte che esco da una preview. ?
Q1.26: AC'è qualche codec YV12 che si possa usare per le catture?

S2: AviSynth e il frameserving:

Q2.1: Cosa è il frameserving e a cosa serve ?
Q2.2: Come si usa AviSynth come frameserver ?
Q2.3: Come si fa "frameservig" con un file AVS verso l'encoder/applicazione X X ?
Q2.4: Problemi quando l' Encoder X legge i files AVS ?
Q2.5: Come si fa frameserving con Premiere/Ulead/Vegas ?
Q2.6: Quando faccio frameserving ricevo questo messaggio: "Script error, there is no function named "xxx (some filter)"" ?
Q2.7: IRicevo un "unrecognized exception error" quando cerco di caricare un file avs in VirtualDub, usando dvd2avi v1.77.3 ?
Q2.8: Come carico la mia clip in AviSynth (video) ?
Q2.9: Come carico la mia clip in AviSynth (audio) ?
Q2.10: Posso caricare un file audio diverso da un WAV ?
Q2.11: HCome posso unire video e audio ?
Q2.12:Ho ricevuto un "unrecognized exception" nella riga dove ho usato DirectShowSource?

S3: Filtri, Plugins e colorspaces:

Q3.1: Cos'è il colorspace RGB/YUV ?
Q3.2: In quali colorspaces lavorano AviSynth ed i filtri interni ?
Q3.3: Come si carica un plugin in AviSynth ?
Q3.4: Dove posso scaricare filtri esterni per AviSynth v1.0x/v2.0x ?
Q3.5: Da dove si possono scaricare i plugin esterni per AviSynth v2.5x ?
Q3.6: WDa dove è possibile scaricare utilities per AviSynth ?
Q3.7: Come si può cambiare il colorspace ?
Q3.8: Quanto e quando dovrei preoccuparmi se il filtro X lavora in RGB- o in YUV ?
Q3.9: HCome si usa e dove trovo i plugins "Subtitler" e "BMP Loader" ?

S4: Importare filtri da VirtualDub:

Q4.1: Da dove si può scaricare l'ultima versione degli scripts che importano filtri da VirtualDub ?
Q4.2: Quali filtri sono importati ?
Q4.3: Questi scripts lavorano in RGB o in YUV ?
Q4.4: Come si costruisce un simile script ?

S1: Avisynth:

Q1.1: Cos'è AviSynth ?

A: AviSynth (AVI SYNTHesizer) è un frameserver. Una eccellente descrizione la si trova qui Lukes homepage:

"AviSynth è una utility molto potente creata da Ben Rudiak-Gould. Prevede molte opzioni per unire e filtrare video. Quello che rende AviSynth unico è il fatto che non si tratta di un programma stand-alone che produce output files. Al contrario, AviSynth agisce come un "middle man" tra i video e le applicazioni video.

Fondamentalmente AviSynth funziona in questo modo: per prima cosa , si crea un semplice documento di testo con comandi speciali, detto script. Questi comandi fanno riferimento ad uno o più video e ai filtri che si vogliono applicare. In seguito si lancia una applicazione video, tipo VirtualDub, e si apre lo script. A questo punto entra in azione Avisynth. Esso apre i video richiamati nello script, applica i filtri richiesti, e alimenta col video l'applicazione. L' applicazione, tuttavia, non è consapevole che Avisynth sta lavorando in background. Al contrario, l' applicazione pensa di aprire direttamente un file AVI già filtrato e che si trova sull' HD.
Ci sono 5 buone ragioni per usare Avisynth:

1. Unire Video: AviSynth permette di unire assieme un numero qualsiasi di video, includendo in ciò anche AVI segmented. Si possono anche unire selettivamente porzioni di video e tracce.
2. Filtrare i Video: Molti filtri di video processing sono inseriti dentro AviSynth. Per esempio, filtri per resizing, cropping, e sharpening i video.
3. Superare la barriera dei 2 GB: AviSynth alimenta un programma con un video piuttosto che lasciare che il programma apra direttamente il file video. A causa di ciò, si può usare AviSynth per aprire files > 2 GB in programmi che non supportano nativamente files di quela dimensione.
4. Aprire Formati non supportati: AviSynth può aprire quasi ogni tipo di video, inclusi MPEG e certi Quicktime MOV. Tuttavia, quando AviSynth fornisce un video ad un programma, questo lo vede come un AVI standard. Questo consente di aprire certi formati video in programmi che normalmente non li supporterebbero.
5. RisparmiareSpazio su Disco: AviSynth genera al volo il video che fornisce al programma . Quindi non sono creati nè files temporanei nè video intermedi. Grazie a ciò si risparmia spazio su disco.

Q1.2: Chi sta sviluppando AviSynth ?

A: AviSynth (fino alla v1.0b) è stato sviluppato da Ben Rudiak-Gould, vedi http://math.berkeley.edu/~benrg/avisynth.html. Ben ha interrotto lo sviluppo che è stato continuato da Edwin van Eggelen, vedi http://www.videotools.net/uk/download.php. La sua ultima release è la versione v1.0b6 che si trova alla homepage di Edwins appena fornita.

Diverse versioni sono uscite sul forum di AviSynth, per esempio v1.0b7a by Divine and v1.0b7d by Dividee.

All'inizio del Luglio 2002 c'è stata su sourceforge una seconda revisione del progetto . (Nel primo progetto sourceforge non è successo molto.) La versione più recente è la v2.56, ma di recente si possono trovare versioni settimanali here. Come documentazione date una occhiata a Q1.5.

Q1.3: Dove posso scaricare l'ultima versione di AviSynth ?

A: Vedi Q1.2. E' contenuta anche nel package DVD2SVCD e nella pagina di download di Doom (potrebbero essere però delle versioni non recentissime).

Q1.4: Quali sono i principali bugs in queste versioni ?

A: Nelle ultime versioni:

v1.0b5: Dissolve non funziona, BicubicResize non funziona correttamente.
v1.0b6: ?
v1.0b7a/v1.0b7d: Dissolve non funziona.
v2.01: ?
v2.02: Layer e MergeChroma non funzionano.
v2.05: Loop non funziona quando si carica un clip senza suono.
v2.07/v2.50: SegmentedAviSource non carica gli avi se non si cancella l'ultimo segmento vuoto.

v2.50 beta; AviSynthTwoFiveZeroBugs.
v2.51 beta; AviSynthTwoFiveOneBugs.
v2.52; AviSynthTwoFiveTwoBugs.

Altri bugs si possono trovare nella documentazione sulla pagina del progetto, vedere Q1.5.

Q1.5: Dove si trova documentazione su AviSynth ?

A: Documentazione sui filtri di AviSynth si trova su http://www.avisynth.org/, e anche sulla pagina dei filtri . Per un tutorial sullo scripting di avisynth , date una occhiata a questo sito. Dovreste leggere questi documenti PRIMA di postare sul forum (ma è consentito postare se avete problemi a capirli).

Q1.6: Come installare/disinstallare AviSynth ?

A: Nella v2.05 o in versione più vecchie: copiate avisynth.dll nella direttrice system/system32 e lanciate install.reg. A partire dalla v2.06 AviSynth ha un auto installer. Anche in questo caso accertatevi di NON avere altre versioni vaganti per l'HD, perchè c'è la possibilità che venga registrata una di queste versioni. Rimuovetela se necessario. Per disinstallare AviSynth andare in "program", "AviSynth 2" e selezionare"Uninstall AviSynth".

Q1.7: Che differenze ci sono tra v1.0x, v2.0x or v2.5x ?

A: Le versioni v1.0x and v2.0x sono compatibili (la differenza più grande è che v2.0x non contiene IPCSource, mentre contiene altri filtri non presenti nella v1.0x). La principale differenza con v2.5x sta nella struttura interna di AviSynth che è cambiata (YV12 e multichannel support) con la conseguena che i plugin esterni compilati per v1.0x o v2.0x non funzioneranno per v2.5x e vice versa.

Q1.8: I plugins compilati per v2.5x sono compatibili con v1.0x/v2.0x e vice versa ?

A: Come spiegato in Q1.7 non è così. E' tuttavia possibile usare i plugin della v.1.0x/2.0x, vedere Q1.15.

Q1.9: Quali programmi di codifica supportano YV12 ?

A: Ci sono ampie possibilità di scelta per codificare in DivX/XviD:

1. C'è una versione modificata (chiamata VirtualdubMod) che ha il supporto YV12: questa modifica (fatta da pulco-citron, Suiryc e Belgador) ha il supporto OGM e AVS-preview. Può essere scaricata da here. Allo scopo di usare il supporto YV12 (senza nessuna conversione di color space) si devono caricare gli AVI in VirtualdubMod e selezionare "fast recompress".
2. VirtualDub supporta YV12 a partire dalla v1.5.6. Allo scopo di usare il supporto YV12 (senza nessuna conversione di color space) si devono caricare gli AVI in Virtualdub e selezionare "fast recompress".
3. Per un facile (e veloce) supporto YV12, si può provare il nuovo compressore in commandline : AVS2AVI. Vedere Q1.21.

Q1.10: Come si ua v2.5x se i programmi di encoding non gestiscono YV12 (come Virtualdub, TMPGEnc o CCE SP) ?

A: Usando Virtualdub dovete aggiungere allo script "ConvertToYUY2" o dovete installare un decompressore YV12 tipo DivX5 or o una delle recenti builds di XviD fatte da Koepi (XviD-04112002-1 o più recenti). Abilitando "fast recompress" si sottintende che ci sarà una conversione YV12 --> YUY2 --> YV12. (anche DivX3/4 supportano YV12, salvo che gli utenti PIV potrebbero avere dei crashes odificando con DivX4 in YV12.)

Usando TMPGEnc si deve aggiungere allo script la riga ConvertToRGB24 , e per CCE SP la riga ConvertToYUY2 poiché Windows non ha un compressore YV12 interno. Si può anche installare DivX5 o una delle recenti builds di XviD di Koepi (XviD-04112002-1 or newer) che decomprimeranno gli AVI in YV12 al momento del caricamento in TMPGEnc o CCE SP.

Q1.11: Come si usa Avisynth 2.5 con GordianKnot ?

- ISe si usa GKnot 0.26 si deve rinominare mpeg2dec3.dll (quella per Avisynth) in mpeg2dec.dll e VirtualDubMod.exe in VirtualDub.exe (tenendosi da qualche parte una copia dell'exe originale e delle dll).

- Se si usa GKnot 0.27 si seguano le procedure precedenti, oppure inserite mpeg2dec3.dll nelle opzioni del menù e rinominate VirtualDubMod.exe in VirtualDub.exe

- Altra alternativa è passare a GKnot 0.28.

Se usando VDubMod 1.4.13.1 si incontrano problemi, scaricate l'ultima release. prerelease.

Q1.12: WQuali sono i principali benefici nell'usare YV12 ?

A: Ci sono due vantaggi:

- Aumento della velocità:
Dipende essenzialmente dal plugin esterno e dal suo supportare o meno YV12. Se ce l'ha la velocità aumenta del 25-35%. Ovviamente ci sarà un grande aumento di velocità se sia la sorgente che il file finale saranno in YV12, per esempio nelle conversioni da DVD a DivX/Xvid.
- nessuna conversione di colore:
TLe informazioni sul colore non vengono interpolate (spesso) ed il risultato è più realistico. Anche se siamo costretti a cambiare color space (se stiamo codificando con CCE SP o TMPGEnc) si ottiene il vantaggio posticipando la conversione YV12->YUY2 (o RGB24 per TMPGEnc) fino alla fine dello script ci consente di effettuare prima IVTC o Deinterlace per creare frames progressivi. E la conversione YV12 to YUY2 fatta su frames progressivi mantiene molti più dettagli di colore di quanti se ne avrebbero agendo su frames interallacciati o field based.

Q1.13: C'è una command line utility per codificare DivX/Xvid usando AviSynth ?

A: Come spiegato in Q1.9 c'è una command line utility chiamata AVS2AVI (e AVS2AVI GUI) per codificare in DivX/XviD usando AviSynth.

Q1.14: Dove posso trovare VCF2AVS ?

A: VCF2AVS è un piccolo tool per convertire files vcf in files avs. Si possono editare le catture in vdub (tagliando, croppando e ridimensionando), e quindi editare l'avs risultante. Attenzione perché in giro ci sono 2 versioni:

- VCF2AVS by Darksoul71 che potete trovare qui.

- VCF2AVS by BB che potete trovare qui.

Provatele entrambe e scegliete quella che più vi soddisfa :)

Q1.15: Come si usa in 2.5x un plugin compilato per la 2.0x ?

A: Nel WarpSharp-package per AviSynth v2.5x c'è un plugin chiamato "LoadPluginEx.dll". Usando una versione più vecchia di LoadPluginEx.dll, NON spostatela nella vostra plugin dir, ma mettetela in una dir separata altrimenti VirtualdubMod e WMP6.4 crasharanno in uscita. Questo vi abiliterà ad usare plugins v2.0x con Avisynth v2.5x. Un esempio di script (usando il plugin v2.0x Dust by Steady):

LoadPlugin("C:\Program Files\avisynth2_temp\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\avisynth2_temp\plugins\dustv5.dll")

AviSource("D:\clip.avi").ConvertToYUY2
PixieDust(5)

Q1.16: Come posso switchare da una versione all'altra di AviSynth senza reinstallare ?

A:

- Si può usare AvisynthSwitcher che si trova qui. Vengono fornite le versioni v2.08 e v2.50 , ma se ne possono facilmente aggiungere altre sotto AvisynthSwitcher\versions\Avisynth 2.x.x.
- Altri modi sono descritti qui.

Q1.17: Come si fa un file AVS ?

A: Vedere Q1.19 (ed usare il text editor preferito).

Q1.18: Dove si devono salvare i files AVS ?

A: In qualunque posto sull'HD.

Q1.19: Come si fa a sapere che versione di AviSynth si sta usando ?

A: Aprite un text editor (Notepad) ed inserite questa riga

Version()

e salvate il file con estensione "avs". Accertatevi che l'estensione sia "avs" e NON "txt" come di solito fa Notepad ). Aprite il file con una applicazione che supporta i files AVI (es.WMP 6.4) e vi apparirà il numero di versione.

Q1.20: AviSynth ha una GUI (graphical user interface) ?

A: Sono disponibili diversi tools:

- VirtualdubMod, vedere anche Q1.9. Per quanto riguarda AviSynth sono state aggiunte le seguenti utilities:

- 'Open via AVISynth' . Questo consente di aprire qualsiasi video compatibile con AviSynth compatible generando automaticamente uno script secondo un template selezionabile.

- AVS Editor (Hotkey Ctrl+E): Aprite il vostro AVS e sotto tools selezionate "script editor". Cambiate qualcosa e premete F5 per una preview del video.

- AvisynthEditor, uno script editor per AviSynth con syntax highlighting, auto-complete code e files per la definizione delle versioni dei plugins. Qui c'è uno screenshot. Lo si può trovare qui. Discussioni le si possono trovare nel Doom9.org forum.
- AVSGenie: AVSGenie consente all'utente di selezionare un filtro da una lista drop down o da un popup menu. Viena presentata una pagina editabile di parametri con una guida al filtro ed ai suoi parametri. Si apre poi una finestra di preview che mostra "source" e "target". La finestra "source" mostra l'output della prima riga dello script (generalmente il file video aperto), la finestra "target" mostra l'utput dell'intero script. In questo modo si possono facilmente vedere gli effetti dei filtri applicati. La riga che identifica la "source window" si può cambiare. Discussioni qui.
- SwiftAVS (by Snollygoster): Altra piacevole gui, conosciuta come AviSynthesizer. [Discussioni]

Q1.21: Mi ha segnalato "LoadPlugin: unable to load "xxx" is not an AviSynth 1.0/AviSynth 2.5 plugin" ?

A: State cercando di usare un plugn che non è compatibile con la vostra versione di Avisynt. Guardate Q1.8.

Q1.22: Come faccio a sapere che color space è attualmente attivo in uno script ?

A: Per vedere che color space è attivo, aggiungete nella posizione voluta dello script:

Info

... e AviSynth vi darà molte info sul color space e su altre cose interessanti.

Q1.23: Ho installato AviSynth v2.5 e con DivX5 (o XviD), tutto quello che vedo quando apro il mio avs in Virtualdub/VirtualdubMod/CCE/TMPGEnc è uno schermo nero ?

A: Ok, apparentemente il video non viene decompresso da DivX5 (o XviD). Andate nella windows-dir e rinominate il file MSYUV.DLL, o aggiungete con REGEDIT le seguenti istruzioni al registro di sistema:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"VIDC.YV12"="divx.dll"

Replace "divx.dll" by "xvid.dll" for XviD.

Q1.24: Il mio computer sembra crashare a caso durante il 2° passo e con ogni encoder?

A : AviSynth (e in special modo v2.5x) è molto ottimizzato e di conseguenza è possibile che il vostro computer vada in crash. Provate ad eseguire il test di stress [Prime95] per circa un'ora per vedere se il sistema è stabile. se il test fallisce o il comuter si blocca accertatevi che non sia overclockato e diminuite la velocità del bus a passi di (diciamo) 5 MHz fino a che i crashes scompaiono.

Q1.25:VirtualdubMod, WMP6.4, CCE e altri programmi crashano tutte le volte che esco da una preview. ?

A: Questo problema nasce dal fatto che avete piazzato LoadPluginEx.dll (o WarpSharp.dll) del package WarpSharp nella plugin dir. La soluzione è di toglierli dalla plugin directory e di caricarli manualmente. Si spera che l'autore di questo plugin se ne accorga :)

Q1.26: C'è qualche codec YV12 lossless che si può usare per le catture?

A: Ce ne sono diversi:

1. VBLE codec (by MarcFD): un encoder basato su huffyuv
2. LocoCodec (by TheRealMoh):
3. MJPEG codec: Genera un piccolo logo nell'angolo superiore destro del clip.

S2: AviSynth ed il frameserving:

Q2.1: Cosa è il frameserving e a cosa serve ?

A: Una eccellente descrizione la si trova su Lukes homepage:

"Il frameserving è un processo col quale si trasferiscono direttamente i dati video da un programma all'altro. Non vengono usati nè creati files intermedi o temporanei. Il programma che apre il file sorgente e che passa in output i dati video è detto "frameserver". Il programma che riceve i dati può essere qualunque tipo di applicazione video.

Ci sono due importanti ragioni per usare il frameserve:

1. Risparmio di Spazio su Disco:
Dipendentemente dall'applicazione di frameserving, si può di solito editare/elaborare video come se fossero frameserved. Poiché la funzione di frameserving non produce files intermedi si usa il frameserver per editare video senza che sia necessario ulteriore spazio su disco. Se per esempio si vogliono unire 2 files, farne il resize ed alimentare un'altra applicazione video,il frameserving vi consente di farlo sena creare un grosso file intermedio.
2. Aumento della Compatibilità:
Per l'applicazione video che riceve i dati dal frameserving, il file di input appare come un relativamente piccolo file non compresso.Con tutto ciò, il source file che il frameserver trasferisce potrebbe essere, ad esempio, un video pesantemente compresso come un file MPEG-1. Se l'applicazione video non supporta i files MPEG-1 files, non è un problema in quanto essa sta ricevendo dal frameserve un file video non compresso.Questa possibilità del frameserver consente di aprire certi tipi di files con una applicazione che normalmente non li gestirebbe.

Per di più, poichè l'applicazione video riceve un frame alla volta, non sa nulla della dimensione del file sorgenteo. Quindi, se l'applicazione ha il limite dei 2 GB o dei 4 GB per la dimensione dei files di input, questa non ha alcun effetto sui video "frameserved". Si possono alimentare applicazioni che hanno il limite dei 2 GB con file video di 100 GB e questo non crea problemi."

Q2.2: Come si usa AviSynth come frameserver ?

A: Si scrive uno script usando un text editor. Si carica la clip (vedere Q2.8) in AviSynth, si applicano i filtri necessari e si carica il file AVS nella applicazione di encoding/encoder X (deve essere una applicazione/encoder che possa leggere file AVI, vedere, Q2.3 e Q2.4).

Q2.3: Come si fa "frameservig" con un file AVS verso l'encoder/applicazione X ?

A:

- Per fare frameserving verso TMPGEnc, CCE SP, VirtualDub o WMP6.4:
Basta aprire il file AVS in TMPGEnc, CCE SP, VirtualDub o WMP6.4 (o qualunque encoder/applicazione s usi) e dare una occhiata a Q2.4.

- Per fare Frameserving verso VFAPI:
Per VFAPI c'è bisogno di installare il plugin ReadAVS . Basta copiare ReadAVS.dll nella direttrice di VFAPI, aprire con notepad il file di registro ReadAVS.reg e cambiare il path correspondente. Lo si salva e doppio click per fonderlo col file di registro.

- Per fare frameserving verso Premiere o Ulead:

- Per fare ciò con Premiere esiste un plugin "IM-Avisynth.prm". La versione originale può essere scaricata da Bens site. Una versione molto migliorata può essere scaricata da [Video Editors Kit sourceforge page]. Questa al momento funziona per Premiere 5.x,6.x e Pro. Per installare il plugin copiate il file IM-Avisynth.prm file dentro la direttrice Premiere "Plug-ins".
- Si può anche scaricare un programma chiamato [makeAVIS (compreso nel codec package ffvfw ] (si tratta di un AVI Wrapper), [Discussione]. Questo programma è SHAREWARE con alcune limitazioni. Con Ulead si deve usare questo programma.

- Per fare Frameserving verso Windows Media 9 Encoder:
Scaricate Windows Media 9 Encoder di Nic ed accertatevi di aver anche installato il codec Windows Media 9. Si trovano entrambi here.

Q2.4: Problemi quando l' Encoder X legge i files AVS ?

A:

1. Perché non riesco ad aprire un file AVS in TMPGEnc (questo succede con vecchie versione di TMPGEnc) ?

- Installa il plugin VFAPI per TMPGEnc
- Disabilita i filtri direct show in TMPGEnc e chiudi il proxy di VirtualDub prima di avviare il frameserving.

- Aggiungi "ConvertToRGB24()" alla fine del file AVS
- Installa il codec Huffyuv/ DivX5 in modo che faccia lui la decompressione quando si carica un AVI in TMPGEnc.
- Installa il plugin ReadAVS per TMPGEnc

2. CCE SP crasha leggendo un AVS-file, che si fa ?

- Se usi Win2k lancia CCE in WinNT4-SP5 compatibility mode.
- Se stai facendo frameserving con AviSynth v1.0x/v2.0x metti nello script "ResampleAudio(44100)" anche se non hai nessun audio nel file AVS.
- Se stai facendo frameserving con AviSynth v2.5x il trucco del ResampleAudio non funziona più perché non aggiunge un audio stream silenzioso al video clip. Piuttosto, crea uno script (chiamato "addaudio.avsi") come descritto qui, e mettilo nella plugin dir.

3. Encoders/players (tipo CCE SP v2.62/v2.64) non leggeranno AVS-files ?
Molti programmi "nuovi" NON usano le funzioni di Windows functions per leggere gli AVI-files. Se essi NON usano le funzioni standard, lo script di AviSynth non funzionerà. Programmi diffusi che NON usano queste routines sono CCE SP v2.62, Windows Media Encoder vx.x. In aggiunta alcuni hanno segnalato errori con Windows Media Player 7.

- Usa CCE SP v2.50 e WMP6.4 (sotto "Program Files" e "Windows Media Player" c'è un file chiamato "mplayer2.exe", è WMP6.4). Nel caso si voglia usare Windows Media Encoder si può usare l'AVI Wrapper "makeAVIS" , vedere Q2.3. Per Windows Media Encoder 9 dai un occhio a Q2.3.
- Se vuoi proprio usare CCE SP v2.62 si può tenta un trucco: Frameserve verso CCE SP v2.62 con VFAPI. Crea uno script AVS script e costruisci un falso AVI con VFAPI (VFAPI accetta files AVS, vedi Q2.3, e può essere scaricato dal sito di Doom9).
- Cinemacraft dice che il loro CCE SP v2.66 accetta script AviSynth. Se hai questa versione dovresti essere a posto.

4. Codec YUY2 buggati causano errori di colorspace su script AVISynth che alimentano TMPGEnc ?
Qualche tempo fa si è improvvisamente scoperto che alimentando TMPGEnc con script AVISynth ne risultava un errore di conversione di colorspace; come se il video fosse stato malamente passato da 24 bit ad 8 bit! (..)

Se hai di questi problemi inserisci alla fine dello script la frase "ConvertToRGB24" oppure dai un occhio a questo thread (e relative soluzioni) colorspace conversion errors.

Q2.5: Come si fa frameserving con Premiere/Ulead/Vegas ?

A: Si può provare con il frameserver compatibile con AviSynth (import) [PluginPace frameserver (by Satish Kumar)]: Per il frameserving da SonicFoundry Vegas (e versioni precedenti di Vegas Video/VideoFactory? ), Adobe Premiere o Ulead MediaStudio Pro leggete questa [discussione].

Q2.6: Quando faccio frameserving ricevo questo messaggio: "Script error, there is no function named "xxx (some filter)"" ?

A: Hai probabilmente installato/registrato una versione di AviSynth che NON contiene quel filtro. Accertati che non ci siano altre versioni in giro per il tuo HD (c'é la possibilità che una versione venga registrata pur non essendo nella tua system directory). Controlla che versione hai registrato, vedi Q1.19.

Ricevo un "unrecognized exception error" quando cerco di caricare un file avs in VirtualDub, usando dvd2avi v1.77.3 ?

A: Il .d2v creato con dvd2avi v1.77.3 NON è compatibile con mpeg2dec.dll! Al suo posto usa v 1.76 . Se vuoi proprio usare la v1.77.3, accertati di avere installato AviSynth v2.5 come pure mpeg2dec3.dll v1.07 (o versioni più recenti).

Q2.8: Come carico la mia clip in AviSynth (video) ?

A: Crea uno script contenente le righe seguenti (sostituisci il filename ed il path del filename):

1. AVI-files (con audio WAV uncompressed o CBR/VBR MP3 (a partire dalla v2.04):
AviSource("d:\filename.avi")
o se si vuole disabilitare l'audio
AviSource("d:\filename.avi", false)
2. AVI-files che AVISource non supporta (esempio "DV type I AVI-files"):
DirectShowSource("d:\filename.avi")
DirectShowSource("d:\filename.mpg")
3. Dai un'occhiata a Mpeg decoder plugins per AviSynth v1.0x/v2.0x e a Mpeg decoder plugins per AviSynth v2.5x:
Usando AviSynth v2.0x/AviSynth v2.5x e MPEGdecoder.dll:
LoadPlugin("d:\MPEGdecoder.dll")
mpegsource("d:\filename.mpg")
4. MPEG2-files (estensione m2p o m2v):
Guardate in Mpeg decoder plugins per AviSynth v1.0x/v2.0x e in Mpeg decoder plugins per AviSynth v2.5x. Qualche esempio:

- Uso di AviSynth v2.0x e mpeg2dec.dll:
Create un file di progetto DVD2AVI, salvatelo come (filename.d2v) e caricate il clip dentro AviSynth:
LoadPlugin("d:\mpeg2dec.dll")
mpeg2source("d:\filename.d2v")

- Uso di AviSynth v2.5x e MPEGdecoder.dll:
LoadPlugin("d:\MPEGdecoder.dll")
mpegsource("d:\filename.m2p")
o (per il solo video stream)
LoadPlugin("d:\MPEGdecoder.dll")
mpegsource("d:\filename.m2v", -2, "raw")

5. VOB-files:
Date un'occhiata a Mpeg decoder plugins per AviSynth v1.0x/v2.0x e a Mpeg decoder plugins per AviSynth v2.5x. Alcuni esempi:

- Uso di AviSynth v2.0x e mpeg2dec.dll:
Create un file di progetto DVD2AVI, salvatelo come (filename.d2v) e caricate il clip dentro AviSynth:
LoadPlugin("d:\mpeg2dec.dll")
mpeg2source("d:\filename.d2v")

- Uso di AviSynth v2.5x e mpegdecoder.dll:
LoadPlugin("d:\MPEGdecoder.dll")
mpegsource("d:\filename1.vob+d:\filename2.vob")

6. ATSC transport streams (estensione *.trp or *.ts):

- Uso di AviSynth v2.0x:
Scaricate mpeg2dec2 e una versione speciale di dvd2avi. Non dimenticate di specificare nel file DVD2AVI.ini il pid di video e audio :
LoadPlugin("d:\mpeg2dec2.dll")
mpeg2source("d:\filename.d2v")

- Uso di AviSynth v2.0x/v2.5x:
Scaricate mpeg2dec3 o mpegdecoder e una versione speciale di dvd2avi:
LoadPlugin("d:\mpeg2dec3.dll")
mpeg2source("d:\filename.d2v")
o se si vuol usare mpegdecoder:
LoadPlugin("d:\mpegdecoder.dll")
mpegsource("d:\filename.d2v")

Se entrambi i metodi falliscono si pùò provare HDTV2MPEG2 (non produce files mpeg2 dvd compatibili ) per creare un file temporaneo mpeg2 ed importarlo in AviSynth con dvd2avi. Per demuxare audio AAC : usate [TSDemux]. Anche il package Moonlight Xmuxer ha un mucchio di filtri DirectShow che si occupano del muxing e del demuxing di files MPEG-1/2 TS e PVA.

7. PVA transport streams:
Siete proprio sfortunati .... AFAIK le uniche possibilità sono PVAStrumento e Xmuxer.
8. d2v-files (files del frameserver DVD2AVI):
LoadPlugin("d:\mpeg2dec.dll")
mpeg2source("d:\filename.d2v")
9. vdr-files (files del frameserver VirtualDub):
AVISource("d:\filename.vdr")
10. ASF-files (il framerate deve essere specificato, tasto Dx del mouse in windows explorer):
DirectShowSource("d:\filename.asf", fps=15)
11. tpr-files (file di progetto TMPGEnc)
Per prima cosa notate che il plugin GreedyHMA è provato essere una miglior soluzione per IVTC (per non dire che è anche MOLTO più facile) che non TMPGEnc. Se vuoi usare TMPGEnc per questo trova il plugin GreedyHMA (lavora nello spazio YUV). Se vuoi proprio importare un file tpr in un file AVS, avete 2 scelte:

- La prima: Il plugin TMPGEnc è contenuto nel file "VFAPI Plugin zip" (termina con -vfp.zip) che si può scaricare dal siti di Doom9. (Questo metodo non sempre funziona, alcuni encoders come CCE SP non riescono a leggerlo.)
LoadVFAPIplugin("d:\TMPGenc.vfp","TMPGsource")
TMPGsource("d:\filename.tpr")
FlipVertical
- La seconda: Importate il tpr-file in VFAPI, create un falso avi e caricatelo in AviSynth (notate che VFAPI lavora nello spazio RGB). Vedere anche http://forum.doom9.org/showthread.php?s=&threadid=10007.

12. aup-files (progetti AviUtl)
Non so se sia possibile caricarli direttamente in AviSynth. Importate il file aup in VFAPI, create un falso avi e caricatelo in AviSynth (notare che VFAPI lavora nello spazio RGB). Vedere anche http://forum.doom9.org/showthread.php?s=&threadid=10007.
13. QuickTime-files (vedere http://forum.doom9.org/showthread.php?s=&threadid=23139):
Usate DirectShowSource:
DirectShowSource("d:\filename.mov")
o se questo non funziona scaricate un plugin (può essere scaricato dalla sezione download di Dooms):
LoadVFAPIPlugin("C:\QTReader\QTReader.vfp", "QTReader")
QTReader("C:\quicktime.mov")
14. AVS-files:
Basta importarli così come sono all'inizio dello script:
Import("d:\filename.avs")
In v2.05 o versioni più recenti potete usare l'autoplugin loading. Basta muovere il file AVS nella direttrice contenente gli altri plugins (esterni) e rinominare l'estensione come '.avsi'. Vedere anche Q5.2.

Q2.9: Come carico la mia clip in AviSynth (audio) ?

A: Lo si può fare in molti modi:

1. Usando AviSource (con audio WAV uncompressed, CBR/VBR MP2 (a partire dalla v2.04) o CBR/VBR MP3-audio (dalla v2.04)):
AviSource("d:\filename.avi")

A partire dalla v2.05 si può estrarre l'audio da un AVI-file in questo modo:
WavSource("d:\filename.avi")

2. Usando l'audio decoder plugin MPASource, vedi Q3.4 e Q3.5 per importare audio mp1/mp2/mp3.
3. Vedere DirectShowSource per il downmixing di un audio AC3.
4. Mettendo una testata WAV al file audio mp2 o mp3 (con Besweet) e usando WavSource per importare l'audio. C'é bisogno anche dei codecs ACM per mp2, e per mp3 (Radium codec, vedi la sezione download di doom). Usate poi WavSource per caricare il WAV:
WavSource("d:\filename.wav")

Fino alla v2.07 l'audio deve essere mono o stereo. A partire dalla v2.5 si possono anche importare audio multicanale e uncompressed.

Q2.10: CPosso caricare un file audio diverso da un WAV ?

A: Yes:

- Files audio uncompressed (cioè files WAV uncompressed) possono venir caricati in qualsiasi versione fino alla v2.03.
- A partire dalla v2.04 possono essere caricati anche files WAV compressi (attualmente solo files MP2/MP3 con una WAV-header).
- A partire dalla v2.5 si possono caricare anche audio uncompressed e multichannel.
- Usando i plugins MPASource e AC3filter si possono importare audio mp1/mp2/mp3 e AC3.

Vedere anche Q2.9.

Q2.11: Come posso unire video e audio ?

A: Create un avs-file contente le righe (cambiando filenames e paths):

video = AviSource("d:\filename1.avi")
audio = WavSource("d:\filename2.wav")
AudioDub(video, audio)

Q2.12: Ho ricevuto un "unrecognized exception" nella riga dove ho usato DirectShowSource?

A: Hai installato VobSub? Date uno sguardo a questo thread. Aggiornate a VobSub v2.20 o superiori. Se qualcuno ha una spiegazione, prego posti in questo thread.

S3: Filtri e colorspace:

Q3.1: Cos'è il colorspace RGB/YUV ?

A: Si tratta di due modi diversi per rappresentare i colori: il colorspace YUV e il colorspace RGB . Nel colorspace YUV c'é un componente che rappresenta la luminosità (luma) e altri due componenti che rappresentano il colore (chroma). Mentre il luma è trasferito con tutti i dettagli, i dettagli nella componente chroma possono essere ridotti con un sottocampionamento (filtraggio, o media) che può essere fatto in molti modi (quindi ci sono molti formati per memorizzare un'immagine nel colorspace YUV ). Nel colorspace RGB ci sono 3 componenti, una per la quantità del Rosso, una per il Verde e una per il Blù. Anche in questo colorspace ci sono molti formati per la memorizzazione di una immagine che differiscono per il valore del campionamento che è usato per ognuno dei 3 colori.

Informationi si possono trovare in: YUV Formats, RGB Formats, MSDN YUV Formats e Chroma subsampling by Charles Poyton.

A partire da AviSynth v1.0x/v2.0x, RGB24, RGB32, e YUY2 sono supportati. In AviSynth v2.5x c'è anche il supporto per YV12.

Q3.2: In quali colorspaces lavorano AviSynth ed i filtri interni ?

A: AviSynth lavora in RGB e YUV usando i formati RGB32, RGB24, YUY2 e YV12. La maggior parte dei filtri interni lavora con tutti questi formati. Quale color format sia richiesto da un filtro, lo si trova [qui].

Q3.3: Come si carica un plugin in AviSynth ?

A: partire dalla v2.05 si può usare la sua funzione di auto-plugin loading. Il path della directory di plugin è impostato durante l'installazione. Se per qualche ragione la si vuole cambiare, cambiate o aggiungete le seguenti righe:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth]
"PluginDir"="c:\\program files\\avisynth 2.5\\plugins"

Cambiate il path a piacimento ed accertatevi anche di aver creato la directory di plugin. Salvate il tutto come install_autoplugin.reg ed aggiungete queste info al registro di sistema con un right-click. Infine spostate tutti i vostri plugins/script-functions nella plugin directory. Se volete caricare manualmente i plugins , usate "LoadPlugin". Un esempio:

LoadPlugin("d:\mpeg2dec.dll")
mpeg2source("d:\filename.d2v")

Q3.4: Dove posso scaricare filtri esterni per AviSynth v1.0x/v2.0x ?

A: La maggior parte di essi la si trova nella sezione AviSynth su Doom9. Di seguito trovate i links alla maggior parte di essi. Se conoscete un plugin che è stato dimenticato, ritenetevi liberi di aggiungerlo usando la funzione "Edit this document". Molti di questi plugins lavorano in YUY2. Se non li trovate, li potete scaricare dalla homepage di [WarpEnterprises] .

Deinterlacing & rimozione Pulldown :
Tutti i video PAL, NTSC, e SECAM sono interlacciati, il che significa che ogni linea è inviata alternativamente ad ogni intervallo di refresh. I filtri di deinterlacing fanno sì che non ci si debba preoccupare di questo problema. I filtri IVTC (inverse telecine, aka pulldown removal) invertono il processo di "telecine", che deriva dalle differenze di temporizzazione fra il vostro video e la sorgente originale.

1. Decomb Filter package (by Donald Graft): Questo pacchetto di funzioni per AviSynth fornisce il mezzo per rimuovere gli artifatti di tipo "combing" dagli streams progressivi "telecined" , "interlaced" , o il mix dei due. Le funzioni possono essere combinate assieme per ottenere "inverse telecine" sia per NTSC che per PAL. [YUY2]
2. ViewFields/UnViewFields (by Simon Walters): ViewFields e UnViewFields sono una coppia di filtri complementari per identificare ed evidenziare i campi "top" e "bottom" di una sorgente interallacciata. [YUY2]
3. GreedyHMA plugin (by Tom Barry): L'algoritmo di DScaler Greedy/HM serve per realizzare il matching del "pulldown" , il filtraggio ed il video deinterlacing. [YUY2]
4. Motion compensated deinterlace filter "TomsMoComp" (by Tom Barry): Questo filtro usa un processo di "motion compensation" e di "adaptive processing" per deinterallacciare le sorgenti video (non per film NTSC ). [YUY2]
5. SmoothDeinterlacer (by Gunnar Thalin, migrato in AviSynth da Xesdeeni): Una trasposizione del filtro di VirtualDub [Smooth Deinterlacer] . [YUY2, RGB]
6. IVTC plugin v2.2 (di "Wizard_FL", Dooms download section): uesto plugin inverte il processo di "telecine". [YUY2]
7. "IT" (di thejam79): Plugin per l'Inverse telecine . Traduzione del README
8. "AntiComb" (by ?): Questo filtro rimuove il "combing" (artefatti dovuti all'interlacciatura). Translation of README
9. Vedere anche Auto24FPS e AutoDeint nella sezione MiscPlugins .

Spatio-Temporal Smoothers:
Questi filtri usano le somiglianze e le differenze di colore sia dentro che tra i frames pe ridurre il rumore ed aumentare la compressibilità. Essi possono migliorare notevolmente i video rumorosi , ma si deve prestare attenzione per evitare sfocature e perdita di dettagli.

1. PeachSmoother (by Lindsey Dubb): Un filtro "adaptive smoother" ottimizzato per trasmissioni TV: documentazione; discussioni. Il Peach lavora cercando i pixels buoni e dedudendo da essi quanto "orange smoke" ci sia. Una volta determinata la quantità di "orange smoke", lo spalma sui pixels errati migliorandoli (??). Funziona solo su computers con instruzioni SSE (Athlons, Pentium 3 o 4, recenti Celerons). [YUY2]
2. "MAM" (by Marc FD): Questo filtro usa la determinazione del movimento in modo da modificare il metodo di denoising usato; nelle aree statiche usa un filtraggio temporale e nelle aree in movimento uno spaziale applicando qualunque filtro spaziale o temporale vogliaste. Non viene più sviluppato, ma può essere momentaneamente scaricato da questo sito. [YUY2]
3. NoMoSmooth (by SansGrip): Un filtro motion adaptive spatio-temporal smoother: documentazione; discussioni. [YUY2]
4. Dust (by Steady): Per rimuovere il rumore. [YUY2, RGB]
5. SpatioTemporal Median Filter "STMedianFilter" (by Tom Barry): STMedianFilter è un filtro spatial/temporal median (con una leggera motion compensation ). Bug: strani cambiamenti di colore(clip diventa porpora). [YUY2]
6. Convolution3D (by Vlad59): Convolution3D è un filtro spatio-temporal smoother. Applica una 3D convolution a tutti i pixels di frames consecutivi . [YUY2]

Spatial Smoothers:
Questi filtri usano le somiglianze e le differenze di colore all'interno del frame per migliorare l'immagine e ridurre le dimensioni del file compresso. Essi possono togliere molto bene il rumore, ma settaggi troppo aggressivi possono causare perdita di dettagli.

1. Masked Smoother "msmooth" (by Donald Graft): Questo filtri tolgono il "mosquito noise" e lisciano gli sfondi. Funziona veramente bene con gli anime. (attualmente in "riparazione") [RGB]
2. Smoother HiQ(uality) plugin (by Klaus Post): Questo filtro applica uno spatial smoothing sul materiale video per eliminarte rumore e gli artifatti MPEG. [YUY2]
3. msoften (by Marc FD): Questo filtro è uno spatial denoiser come 2dcleaner. Alcune discussioni le trovi qui qui. [YUY2]
4. General convolution plugin (by Richard Berg): Uno spatial smoother ( descrizione). Dalla v2.01 questo plugin è inserito come funzione interna di AviSynth. [YUY2, RGB]
5. Wavelet Noise Reduction (by thejam): Questo filtro rimuove una singola frequenza di rumore all'interno di 3 diverse bande di frequenza in modo indipendente dalle direzioni orizzontale e verticale e dai color planes Y, Cr e Cb . ( documentazione). Questo filtro lavora solo con PCs col set di istruzioni SSE. [YUY2]
6. Dynamical Noise Reduction 2 filter "DNR2" [YUY2, RGB]
7. 2D Cleaner Noise Reduction filter "_2DClenYUY2" [YUY2]
8. Vedere anche KenKunNR nella sottostante sezione Misc Plugins .

Temporal Smoothers:
Questi filtri usano le somiglianze e le differenze di colore fra i frames per migliorare l'immagine e ridurre le dimensioni del file compresso. Essi possono togliere molto bene il rumore nelle aree statiche senza perdita di dettagli, ma settaggi troppo aggressivi possono causare perdita di dettagli nelle areee in movimento.

1. TemporalSoften2 plugin (by Dividee): questo plugin è migliore della versione TemporalSoften interna fino alla v2.02; rimuove il rumore dal video miscelando selettivamente i pixels. E' compreso nella v2.03 e successive versioni (sostituisce la vecchia funzione ed ha lo stesso nome: TemporalSoften). [YUY2]
2. TemporalSmoother plugin (by Dividee): TQuesto filtro è un "adaptive noise reducer" che lavora lungo l'asse dei tempi. [YUY2]
3. TemporalCleaner (by Jim Casaburi; migrato in AviSynth da Vlad59)]: Un semplice ,ma veloce temporal denoiser, che punta ad aumentare la compressibilità. [YUY2]
4. Grape Smoother (by Lindsey Dubb): documentation; discussioni; Quando i colori cambiano solo un pò, questo filtro decide che si tratta probabilmente di rumore, e ritocca appena il colore del frame. All'aumentare delle variazioni di colore il filtro si convince che si tratta di movimento e non di rumore ed i colori vengono rafforzati. [YUY2]
5. Chroma Noise Reducer (by Marc FD): Reduce il rumore del canale chroma (UV) e non tocca il luma (Y), discussioni. [YUY2]
6. Vedere anche KenKunNRT in Misc Plugins .

Sharpen/Soften Plugins:
Sono strettamente correlati agli Spatial Smoothers. Cercano di migliorare la qualità dell'immagine intensificando o attenuando i contorni.

1. Smart sharpening filter "MSharpen" (by Donald Graft): Questo filtro è veramente efficace nell'intensificare i contorni senza aumentare il rumore. [YUY2, RGB]
2. Sharpen/Blur filter "Focus2" (by Marc FD): Sharpen2 e Blur2 sono delle ottimizzazioni MMX delle funzioni interne Sharpen e Blur . A partire dalla v.250 sostituirà le funzioni Sharpen e Blur. [YUY2, RGB]
3. Unfilter plugin (by Tom Barry): Un filtro che aumenta/diminuisce il contrasto: discussioni. Implementa filtri orizzontali e verticali progettati per rovesciare (leggermente) i precedenti tentativi di softening o intensificazione dei contorni cosa comune (ma sgradevole) nella mesterizzazione dei DVD. [YUY2]
4. Vedere anche WarpSharp, Xsharpen, e UnsharpMask nella sezione Misc Plugins poco più avanti.

Resizers:

1. Lanczos resize filter (Implemented by Nic): A partire dalla v2.06 AviSynth ha un filtro di resize lanczos3 interno. [YUY2, RGB]
2. SimpleResize plugin (by Tom Barry): Un semplice e veloce filtro di interpolazione lineare . E' "unfiltered" il che significa che non attenua troppo. [YUY2]

Subtitles:

1. VobSub plugin (by Gabest): Un plugin per importare i sottotitoli. [YUY2, RGB]

MPEG Decoder (source) Plugins:

1. "MPEG2DEC" (by dividee): Mpeg2dec è un plugin che permette ad AviSynth di importare files MPEG2 .
2. "MPEG2DEC2" (by Tom Barry): Un sostituto di MPEG2DEC.DLL. E' lo stesso MPEG2DEC.DLL con ottimizzzione SSE2. E' più veloce con CPU Pentium IV.
3. "MPEG2DEC3" (by Marc FD): Un MPEG2DEC.DLL modificato con deblocking e deringing, discussioni.
4. "MpegDecoder" (by Nic): Altro sostituto di MPEG2DEC.DLL. Legge anche MPEG-2 Transport Streams (VOB) ed è molto veloce.

MPA Decoder (source) Plugins:

1. MPASource (by Warpenterprises): Un plugin audio decoder per mp1/mp2/mp3, discussioni.

Broadcast Video Plugins:
Questi filtri sono destinati ad occuparsi dei vari problemi che si presentano quando si catturano immagini da TV. Forniscono qualche aiuto con la separazione di luma/chroma; altri riducono i problemi di interferenza o compensano l'effetto di overscan.

1. AntiBlink (by Kurosu): Cerca di diminuire lo "shimmering" (scintillio con effetto "rainbow" ) in aree con forti cambiamenti di luminanza (ad esempio, le scritte). [YUY2]
2. Guava Comb (by Lindsey Dubb): questo è un filtro "comb", studiato per sbarazzarsi dell'effetto "rainbows", punti vaganti , e scintillio nelle parti statiche dell'immagine. documentation; discussioni [YUY2]
3. Ghostbuster (by SansGrip): TQuesto filtro rimuove da una clip l'effetto "ghost". Un ghost in questo contesto è una fievolecopia dell'immagine leggermente spostata orizzontalmente. Lavora sia sottraendo che aggiungendo l'immagine a se stessa con uno specifico spostamento. E basato sul filtro per VirtualDub di Krzysztof Wojdon's Exorcist . [YUY2]
4. BorderControl plugin (by Simon Walters): Dopo aver catturato un video potremmo volerlo croppare per togliere spazzatura. BorderControl consente di sfumare i bordi anzichè croppare ed aggiungere bordi decisi. Questo può risultare visivamente più gradevole e produce meno artifatti di compressione. [YUY2]
5. AutoCrop plugin (by CropsyX): Croppa automaticamente i bordi neri di un clip. discussioni [YUY2]

Misc Plugins:

1. ImageSequence plugin (by Bzzz2): Un plugin che consente di caricare una sequenza di immagini.
2. Robust duplicate frame detector "Dub" (by Donald Graft): Questo filtro riduce le dimensione dei film di animazione rimuovendo i frames duplicati. [YUY2]
3. [Tweak plugin (by Donald Graft)]: Sistema hue, saturation, brightness, e contrast. E' una versione interna a partire da AviSynth v2.01. [YUY2]
4. WarpSharp, Xsharpen, UnsharpMask, KenKunNR, KenKunNRT, UVTimingH, UVTimingV, LoadAviUtlInputPlugin, LoadAviUtlFilterPlugin, ConvertYUY2ToAviUtlYC, ConvertAviUtlYCToYUY2, EraseGhost, SearchGhost, EraseGhostV, SearchGhostV, Auto24FPS, AutoDeint, FrameCache, AVIEncodeVideo, LoadPlugin (by ???): Sono filtri convertiti da VirtualDub e da AviUtl . L'ultima versione la si trova qui. [YUY2]
5. AviSynth monitor "avsmon" (by johann.Langhofer): Questo plugin consente una "preview" del video durante la conversione e di determinare l'esatto ritardo dell'audio. [YUY2, RGB ?]
6. MergeLuma/MergeChroma plugin (by Klaus Post): Funzione interna dall' AviSynth v2.01. [YUY2]
7. Call (by Nic): Un plugin che consente di chiamare e passare parametri ad un programma esterno (in commandline) come ad esempio Besweet.
8. Blockbuster (by SansGrip): Con questo filtro si possono scegliere diversi metodi per ridurre od eliminare i blocchetti dovuti alla DCT : aggiungendo rumore(con distribuzione Gaussiana), contrastando o sfocando. Alcune discussioni qui. [YUY2, RGB ?]
9. ChromaShift (by Simon Walters): ChromaShift shifta the l'informazione sulla crominanza di 2 pixels verso destra per compensare una registrazione Y/UV non corretta. [YUY2]
10. TurnLeft and TurnRight (by Warpenterprises): Ruota il clip di -90 o +90 gradi. Questo plugin è una funzione interna a partire da AviSynth v2.51. [RGB]
11. Chr.dll (by WarpEnterprises): Consente di aggiungere caratteri ASCII e lo starting time.
12. Spray (by WarpEnterprises): Prende pixels da un'area vicina e li sparge attorno in modo tale che è possibile ad esempio prendere pixel da "fuori" di un logo e distribuirli "dentro" il logo stesso. [RGB32]
13. Zoom "Pan/Zoom/Rotate" (by WarpEnterprises): Un plugin per Pan/Zoom/Rotate un clip. [RGB32]
14. MJPEGcorrect plugin: La luminosità nei decoder MJPEG è spesso decodificata in YUV in modo non corretto. Questo è un plugin specializzato scritto per risolvere questo problema con i video MJPEG, descrizione. [YUY2]
15. Molti filtri di VirtualDub , vedere la sezione S4: Importare filtri da VirtualDub. [RGB32]

Q3.5: Da dove si possono scaricare i plugin esterni per AviSynth v2.5x ?

A: Molti di essi si trovano nella sezione AviSynth di Doom9. Di seguito alcuni links a molti di essi. La maggioranza di questi plugins lavora in YV12. Se non li trovate, li potete scaricare dalla homepage di [WarpEnterprises] .

Deinterlacing & Pulldown Removal:
Tutti i video PAL, NTSC, and SECAM sono interallacciati, il che significa che ogni linea è inviata alternativamente ad ogni intervallo di refresh. I filtri di deinterlacing fanno sì che non ci si debba preoccupare di questo problema. I filtri IVTC (inverse telecine, aka pulldown removal) invertono il processo di "telecine", che deriva dalle differenze di temporizzazione fra il vostro video e la sorgente originale.

1. rePal (by Bach): Un utile plugin per la conversione 30->25 IVTC . Deve essere usato congiuntamente ad un (smart)bob. E' da usare quando la sorgente è un materiale PAL telecined. [YV12, YUY2]
2. Unblend (by Bach): Un plugin basato sull'algoritmo di deblend di Warpenterprise e sul codice di decimate di Neuron2. E' indicato per conversioni pasticciate NTSC->PAL. [YV12]
3. Decomb Filter package (by Donald Graft): Questo pacchetto di funzioni per AviSynth forniscono il mezzo per rimuovere gli artifatti
   ti tipo &quot;combing&quot; dagli streams progressivi &quot;telecined&quot; , &quot;interlaced&quot; , o il mix dei due. Le funzioni possono essere combinate assieme per ottenere &quot;inverse telecine&quot; sia per NTSC che per PAL. discussioni[YV12, YUY2]
4. Area based deinterlacer (by Donald Graft): Trasposizione del filtro per Virtuldub. [RGB32]
5. DGBob (by Donald Graft): Questo filtro divide ogni field della sorgente nel relativo frame, quindi crea le righe mancanti sia interpolando il field corrente che usando i dati del field precedente. discussioni [YV12, YUY2, RGB]
6. KernelDeint (by Donald Graft): Questo filtro deinterlaccia usando un approccio di tipo kernel. Nelle aree deinterlacciate, produce risoluzioni verticali di gran lunga migliori rispetto alla semplice eliminazione di un field. [discussioni]. [YV12, YUY2, RGB]
7. MultiDecimate (by Donald Graft): Rimuove N ogni M frames, scegliendo i frames più simili ai precedenti. discussion [YUY2]
8. Smoothdeinterlacer (recompilato da Donald Graft): Trasposizione del filtro Smooth Deinterlacer di VirtualDub . [YUY2, RGB32]
9. Interpolation Bob (by kevina20723): Questo filtro lavora esattamente come il filtro interno Bob eccetto che usa una interpolazione lineare al posto di un bicubic resizing (C-plugin). [YV12, YUY2]
10. SmartDecimate (by kevina20723): Dovrebbe essere molto buono nel gestire materiale non correttamente telecined come pure nel gestire clips ibride senza generare eccessivi saltellamenti o sfuocamenti (C-plugin). [discussioni]. [YV12,YUY2]
11. TPRIVTC (by Kurosu): Usa le informazioni IVTC prendendole dai Tsunami MPEG Encoder Project Files. [YV12, YUY2]
12. Progressive Frame Restorer "PFR" (by Simon Walters): Recupera i frames originali di un film progressivo che ha subito il processo di telecine a NTSC 30fps o a PAL 25fps e contemporaneamente cerca di conservare il corretto ordine temporale dei fields. [discussioni]. [YV12, YUY2]
13. "IT" (by thejam79, ricompilato da Donald Graft): Inverse telecine plugin. Traduzione del README. [YUY2]
14. GreedyHMA (by Tom Barry): L'algoritmo di DScaler Greedy/HM serve per realizzare il matching del "pulldown" , il filtraggio ed il video deinterlacing. discussion[YUY2]
15. Motion compensated deinterlace filter "TomsMoComp" (by Tom Barry): Questo filtro usa un processo di "motion compensation" e di "adaptive processing" per deinterallacciare le sorgenti video (non per film NTSC ). discussion [YV12, YUY2]
16. UnComb IVTC (by Tom Barry): Filtro per accoppiare fields pari e dispari di una sorgente video NTSC o PAL correttamente telecined. discussioni [YV12]
17. Vedere anche Auto24FPS e AutoDeint nella sezione MiscPlugins .

Spatio-Temporal Smoothers:
Questi filtri usano le somiglianze e le differenze di colore sia dentro che tra i frames pe ridurre il rumore ed aumentare la compressibilità. Essi possono migliorare notevolmente i video rumorosi , ma si deve prestare attenzione per evitare sfocamenti e perdita di dettagli.

1. PeachSmoother (by Lindsey Dubb): Un filtro "adaptive smoother" ottimizzato per trasmissioni TV: [documentazione], [discussioni]. Il Peach lavora cercando i pixels buoni e dedudendo da essi quanto "orange smoke" ci sia. Una volta determinata la quantità di "orange smoke", lo spalma sui pixels errati migliorandoli (??). Funziona solo su computers con instruzioni SSE (Athlons, Pentium 3 o 4, recenti Celerons, o successivi). [YUY2]
2. FluxSmooth (by SansGrip): spatio-temporal smoother, discussioni. [YV12]
3. MipSmooth filter (by Sh0dan): Prende il frame sorgente, e crea 3 nuove versioni , ognuna di dimensioni la metà della precedente. Queste vengono poi riadattate alla dimensione originale, sono confrontate con l'originale e se la differenza è al di sotto di una certa soglia, l'informazione è usata per creare il pixel finale. [YV12]
4. SpatioTemporal Median Filter "STMedianFilter" (by Tom Barry): STMedianFilter è uno spatial/temporal median filter (leggermente motion compensated). [YV12, YUY2]
5. Convolution3DYV12 (by Vlad59): Convolution3D è uno smoother spatio-temporale. Applica una convoluzione 3D ai pixels che risultano simili in frames consecutivi. discussioni [YV12]

Spatial Smoothers:
Questi filtri usano le somiglianze e le differenze di colore all'interno del frame per migliorare l'immagine e ridurre le dimensioni del file compresso. Essi possono togliere molto bene il rumore, ma settaggi troppo aggressivi possono causare perdita di dettagli.

1. Masked Smoother "MSmooth" (by Donald Graft): Questo è un valido filtro per rimuovere il "mosquito noise" così come per perfezionare la aree piatte delle anime. discussion [YV12, RGB32]
2. SmoothUV (by Kurosu): Questo filtro può essere usato per rimuovere rainbows come fa anche SmartSmoothIQ. [discussioni]. [YV12]
3. VagueDenoiser (by Lefungus): Un semplice denoiser che usa la tecnica wavelets.[YV12]
4. Deen (by Marc FD): Numerosi denoisers. [discussioni] Questo filtro può produrre dispersioni di memoria, lo usate a vistro rischio . [YV12]
5. eDeen (by Marc FD): Spatial monster. Questo filtro può produrre dispersioni di memoria, lo usate a vistro rischio . [YV12]
6. SmoothHiQ (recompilato by Richard): [YUY2]
7. Dynamical Noise Reduction 2 filter "DNR2" [YV12]
8. 2D Cleaner Noise Reduction filtro "_2DClenYUY2" [YUY2]
9. Vedere anche KenKunNR nella sezione Misc Plugins .

Temporal Smoothers:
Questi filtri usano le somiglianze e le differenze di colore fra i frames per migliorare l'immagine e ridurre le dimensioni del file compresso. Essi possono togliere molto bene il rumore nelle aree statiche senza perdita di dettagli, ma settaggi troppo aggressivi possono causare perdita di dettagli

1. TemporalCleaner (by Jim Casaburi; ported to AviSynth by Vlad59): Un semplice ,ma veloce temporal denoiser, che punta ad aumentare la compressibilità. [YV12]
2. Grape Smoother (by Lindsey Dubb): [ documentazione], [discussioni]. Quando i colori cambiano solo un pò, questo filtro decide che si tratta probabilmente di rumore, e ritocca appena il colore del frame. All'aumentare delle variazioni di colore il filtro si convince che si tratta di movimento e non di rumore ed i colori vengono rafforzati. [YUY2]
3. atc (by Marc FD): Temporal cleaner. [YV12]
4. Chroma Noise Reducer "Cnr2" (by Marc FD): Reduce il rumore del canale chroma (UV) senza toccare il luma (Y), [ discussioni] [YV12, YUY2]
5. Vedere anche KenKunNRT alla sezione Misc Plugins .

Sharpen/Soften Plugins:
Sono strettamente correlati agli Spatial Smoothers. Cercano di migliorare la qualità dell'immagine intensificando o attenuando i contorni.

1. MSharpen (by Donald Graft): Questo plugin per Avisynth implementa un concetto inusuale nello spatial sharpening. Sebbene disegnato specificatamente per le anime, lavora piuttosto bene anche su video normali . Il filtro è veramente efficace nell'intensificare contorni importanti senza aumentare il rumore. discussioni[YV12, YUY2, RGB]
2. asharp (by MarcFD): adaptive sharpening filter, [discussioni] [YV12]
3. Unfilter plugin (by Tom Barry): Un filtro che aumenta/diminuisce il contrasto: Implementa filtri orizzontali e verticali progettati per rovesciare (leggermente) i precedenti tentativi di softening o intensificazione dei contorni cosa comune (ma sgradevole) nella masterizzazione dei DVD. discussioni. [YV12, YUY2]
4. Vedere anche WarpSharp, Xsharpen, e Unsharp Mask nella sezione Misc Plugins .

Resizers:

1. bicublinresize (by Marc FD): Si tratta dell'insieme di diversi resamplers: FastBilinear (simile al simpleresize di tbarry ), FastBicubic (un Bicubic resampler unfiltered) e Bicublin (usa un bicubic sul piano Y e un bilinear sui piani UV ). discussioni. [YV12]
2. ReduceBy2 sostituzione per TMPGEnc (by scmccarthy): Questo filtro è utile solo come sostituzione di ReduceBy per quegli utenti che hanno bisogno di passare sempre al colorspace RGB . Evita l'interpolazione del piano luma. [RGB]
3. SimpleResize (by Tom Barry): Un semplice e veloce filtro di interpolazione lineare . E' "unfiltered" il che significa che non attenua troppo. [YV12, YUY2]
4. YV12InterlacedReduceBy2 (by Tom Barry): InterlacedReduceBy2 è un veloce filtro Reduce By 2 , utile per una veloce riduzione di un clip interlacciato. [discussioni] [YV12]

Subtitles:

1. VSFilter (by Gabest): Per gli estimatori dei sottotitoli! [discussioni]

MPEG Decoder (source) Plugins:

1. MPEG2DEC (by dividee) Mpeg2dec è un plugin che consente ad AviSynth di importare files MPEG2 . (outputs to YUY2)
2. MPEG2DEC3 (by Marc FD e altri): Un MPEG2DEC.DLL modificato con deblocking e deringing. Da notare che le informazioni sul colorspace di dvd2avi non sono tenute in considerazione quando si usa mpeg2dec.
3. Mpegdecoder (by Nic): Questa DLL consente di caricare files VOB/MPEG-2/MPEG-1 direttamente in Avisynth. discussione.

MPA Decoder (source) Plugins:

1. evilMPASource (by Nic): MPASource with MPEG1/2 input support.
2. MPASource (by Warpenterprises): Un plugin di decodifica per audio mp1/mp2/mp3, discussione.

Plugins per confrontare la qualità video usando misurazioni specifiche della video quality:

1. SSIM (by Lefungus): Filtro per confrontare la video quality (simile al psnr, ma con una diversa metodologia di misura ). [YV12]
2. VqmCalc (by Lefungus): Filtro per confrontare la video quality (simile al psnr, ma con una diversa metodologia di misura ). [YV12]

Broadcast Video Plugins:
Questi filtri sono destinati ad occuparsi dei vari problemi che si presentano quando si catturano immagini da TV. Forniscono qualche aiuto con la separazione di luma/chroma; altri riducono i problemi di interferenza o compensano l'effetto di overscan.

1. Super8Equal (by Belgabor): Un problema del trasferimento difilms Super8 films in formato digitale è la luminosità disomogenea prodotta dai proiettori. Di solito la luminosità cala in modo circolare dal centro verso i bordi. Questo filtro è stato scritto per neutralizzare il problema. [YV12, YUY2, RGB]
2. AutoCrop plugin (by CropsyX): Croppa automaticamente i bordi neri di un clip. discussioni. [YV12, YUY2]
3. Declick (by Donald Graft): Elimina i leggeri scatti orizzontali. [YUY2]
4. Deflicker (by Donald Graft, trasposizione del filtro di VirtualDub): Questo filtro corregge i video che presentano variazioni temporali nella luminanza dei frames , cosa che è normalmente detta "flickering". [YUY2]
5. Conditional Temporal Median Filter (by kevina20723): Elimina un rumore temporale che ha la forma di piccoli punti e strisce (C-plugin). [YV12]
6. X-Logo (by Leuf): Un filtro per rimuovere i loghi. (Nota: è presente una conversione interna in RGB32 e viceversa.) [YV12, YUY2, RGB]
7. Guava Comb (by Lindsey Dubb): questo è un filtro "comb", studiato per sbarazzarsi dell'effetto "rainbows", punti vaganti , e scintillio nelle parti statiche dell'immagine. [documentazione], [discussioni]. [YUY2]
8. FixVHSOversharp (by MrTibs): Aggiusta gli aloni chiari e scuri che si trovano in sorgenti VHS di seguito a bordi con alto contrasto. [discussioni]. [YUY2]
9. BorderControl (by Simon Walters): Dopo aver catturato un video potremmo volerlo croppare per togliere spazzatura. BorderControl consente di sfumare i bordi anzichè croppare ed aggiungere bordi decisi. Questo può risultare visivamente più gradevole e produce meno artifatti di compressione. [YV12, YUY2]
10. FillMargins (by Tom Barry): Filtro simile a BorderControl. [discussioni] [YV12]
11. Reinterpolate411 (by Tom Barry): Sembra che i pixels chroma pari siano duplicati dal codec MainConcept (in NTSC). Questo nuovo filtro aiuta scartando i pixels dispari e ricreandoli come media di 2 pixels pari adiacenti. [discussioni]. [YUY2]

Misc Plugins:

1. Imagesequence plugin (by Bzzz, modificato da Warpenterprises e Sh0dan): consente di importare sequenze di immagini come files .TIF, .TGA e .JPG (le immagini devono essere 24 o 32 bits per pixel). Questo plugin è un plugin interno a partire da AviSynth v2.52, ed è chiamato ImageReader.
2. Dup (by Donald Graft): Questo è stato studiato per usarlo in clips che hanno un significativo numero di frames doppi, ma che differiscono a causa del rumore . Thanno molti di questi doppioni. Rimpiazzando i doppioni contenenti rumore con il doppione esatto si ottiene una riduzione delle dimensioni. discussioni [YV12, YUY2]
3. Convert3d (by hanfrunz): Converte 3D Movies interlacciati (un field a sinistra, l'altro field a destra) in formato anaglyph (red/cyan) usando il metodo di photoshops "screen"-blend. [YUY2, RGB]
4. AviSynth monitor "avsmon" (by johann.Langhofer): Questo plugin consente una preview del video durante la conversione e di determinare il corretto delay audio. [YV12, YUY2 ?, RGB ?]
5. AVISynth C API (by kevina20723): Usand AviSynth v2.52 o versioni puù vecchie, il C-plugins deve essere caricato con LoadCPlugin, e può essere caricato con LoadPlugin a partire da AviSynth v2.53. Nota: non mettete questo plugin nella auto plugin loading directory altrimenti avreste dei crashes. [discussioni].
6. MaskTools (by Kurosu): Una generalizzazione di mask tools. [YV12]
7. Call (by Nic): Un plugin che consente di chiamare e passare parametri ad un programma esterno (in commandline) come ad esempio Besweet.
8. AudioGraph (by Richard Ling, modificato da Sh0dan): Mostra in cima al video la forma d'onda dell' audio. [YUY2, RGB]
9. Blockbuster (by Sansgrip, recompiled by CruNcher): Con questo filtro si possono scegliere diversi metodi per ridurre od eliminare i blocchetti dovuti alla DCT : aggiungendo rumore(con distribuzione Gaussiana), contrastando o sfocando. [YUY2]
10. ReverseFieldDominance (by Sansgrip): Ha la funzione di switchare il materiale DV PAL da bottom a top field first, ma funziona con con qualsiasi materiale interlacciato. Muove l'intero frame su o giù di una riga. discussioni. [YUY2, RGB]
11. ChromaShift (by Simon Walters): ChromaShift shifta le informazioni di crominanza in ogni direzione per compensare una registrazione Y/UV non corretta . [YUY2]
12. CompareYV12 (by Shalcker): Versione YV12 del filtro interno "Compare". [discussione]. [YV12]
13. SelectByString (by stickboy): Questo filtro si usa per creare funzioni wrapper per specificare presets agli altri filtri (C-plugin). [YV12, YUY2, RGB]
14. AddGrain (by Tom Barry): AddGrain genera una grana tipo film ed altri effetti (tipo pioggia) aggiungendo rumore al video. Questo rumore può essere a scelta correlato orizzontalmente o verticalmene in modo da generare striature. [YV12]
15. BT709ToBT601 (by Tom Barry): Converte dal color space HDTV (BT.709) a quello SDTV (BT.601) . [discussioni] [YV12]
16. DctFilter (by Tom Barry): Riduce le componenti ad alta frequenza del rumore usando Discrete Cosine Transform e il suo inverso. Ne deriva un alto guadagno in compressibilità . Height/width devono essere multipli di 16. discussioni. [YV12, YUY2]
17. FrameDbl (by Tom Barry): Un duplicatore di frame "motion compensated" creato a partire dal STMedianFilter. [discussioni] [YV12]
18. Undot (by Tom Barry): UnDot è un filtro per ridurre l'effetto "dot", ovvero pixels orfani e rumore "mosquito". In sostanza pareggia il valore dei pixels in modo tale che rientrino in un range minimo e massimo degli otto pixels circostanti. [discussioni]. [YV12, YUY2]
19. Chr (by WarpEnterprises): Consente di aggiungere caratteri ASCII e starting time. Interno a partire dalla v2.52.
20. DVinfo (by WarpEnterprises): Questo filtro tira fuori il timestamp e la recording date da un DV-AVI. Dovrebbe funzionare con i formati Type-1 e Type-2, standard AVI e openDML.
21. Zoom "Pan/Zoom/Rotate" (by WarpEnterprises): Un plugin per Pan/Zoom/Rotate un clip. [RGB32]
22. WarpSharp, Xsharpen, UnsharpMask, KenKunNR, KenKunNRT, UVTimingH, UVTimingV, LoadAviUtlInputPlugin, LoadAviUtlFilterPlugin, ConvertYUY2ToAviUtlYC, ConvertAviUtlYCToYUY2, EraseGhost, SearchGhost, EraseGhostV, SearchGhostV, Auto24FPS, AutoDeint, FrameCache, AVIEncodeVideo, LoadPluginEx (by our Japanese friend): Adattati dai filtri di VirtualDub e di AviUtl . Un pò di documentazione la si trova [qui]. Dovete copiare le [msvcp71.dll/msvcr71.dll] (Microsoft C Runtime Library, v7) nella windows system directory. [YV12, YUY2]

Q3.6: Da dove è possibile scaricare utilities per AviSynth ?

A: Sono disponibili molte utilities :

- AvsCompare (by TheWEF e aquaplaning): Piccolo tool per confrontare materiale video e/o l'effetto dei filtri scelti. [discussioni]
- AvsTimer (by kassandro): Piccolo filtro virtualmente senza overhead, che consente di misurare le performance dei plugins o di gruppi di plugins.
- AVISynth BatchScripting: Piccolo Batch file per creare velocemente "AVS AviSynth Script files". Con disponibili alcuni presets : 1:1-VGA to VCD, DVB/DVD-PAL to 1:1-VGA e DVB/DVD-PAL to VCD. (I Batches girano solo sotto WinNT/2000/XP)

Q3.7: Come si può cambiare il colorspace ?

A: Se si usa mpeg2dec3 (quello adatto perAviSynth v2.5x) si possono anche usare le conversioni disponibili in questa dll (se si vuole ad esempio convertire in RGB24). Usando lo stesso AviSynth :

conversione in YV12:
ConvertToYV12

conversione in YUY2:
ConvertToYUY2

conversione in RGB:
ConvertToRGB

Si noti che la conversione del colorspace non è del tutto senza perdite, e convertendo avanti e indietro può degradare il segnale video. La prima conversione non danneggia , ma se se ne fanno tre o più questo può accadere. A partire dalla versione v2.03, c'è un ConvertBackToYUY2 che offre una maggiore simmetria se la sorgente RGB è stata precedentemente convertita da YUY2.

Q3.8: Quanto e quando dovrei preoccuparmi se il filtro X lavora in RGB- o in YUV ?

A: La principale ragione da considerare è l'aumento di velocità che si può ottenere evitando cambi non necessari di colorspace. Se la sorgente è in YV12 (codificando da DVD ad esempio, o catture da sorgenti digitali) cerca di usare filtri/plugins che lavorano nello spazio YV12. D'altro canto se il sorgente è in RGB (ad esempio da catture analogiche) cerca di usare filtri/plugins che lavorano nello spazio RGB.

La velocità è anche abbastanza diversa fra un colorspace e l'altro perchè ogni colorspace si prende una diversa quantità di memoria. Il colorspace più lento è di solito RGB24, poiché ogni pixel ha un allineamento dispari della memoria, per cui evitatelo. Il colorspace più veloce è di solito YV12 (seguito da YUY2), perché i dati occupano la metà dello spazio occupato da RGB32. Se dovete elaborare molto il video, provate ad usare ConvertToYV12 o ConvertToYUY2 prima di applicare filtri. Notate che ConvertToRGB converte in RGB32 se la sorgente è YV12/YUY2 - usate ConvertToRGB32 per forzare la conversione da RGB24 a RGB32.

Si deve considerare anche il colorspace di destinazione. Se si vuole convertire in DivX/!Xvid/!Huffyuv con VirtualDub senza applicare filtri in VirtualDub, "Fast Recompress" trasferisce i dati YUYdirettamente al codec, evitando una ulteriore conversione di colorspace. D'altro canto, se si usano TMPGEnc o VirtualDub in modo "Full Processing" , si può prendere in considerazione di trasferire la sorgente come RGB.

Q3.9: Come si usa e dove trovo i plugins "Subtitler" e "BMP Loader" ?

A: Queste dll vengono create da DVD2SVCD e solo DVD2SVCD le usa. Ma le si possono usare in AviSynth. Date un'occhiata a questo [thread].

S4: Importare filtri da VirtualDub:

Q4.1: Da dove si può scaricare l'ultima versione degli scripts che importano filtri da VirtualDub ?

A: Gli scripts di AviSynth sono alla pagina ShareFunctions oppure si può scaricare un package chiamato vdub_filtersv15.zip da http://forum.doom9.org/showthread.php?s=&threadid=23804 o http://neuron2.net/hosted.html

Q4.2: Quali filtri sono importati ?

A: La maggior parte dei filtri. Leggere la documentatione correspondente disponibile nello zip-file.

Q4.3: Questi scripts lavorano in RGB o in YUV ?

A: Solo in RGB (RGB32).

Q4.4: Come si costruisce un simile script ?

A: Esempio di script (questo filtro di VirtualDub può essere scaricato da Donald's homepage):

Smart Bob by Donald Graft:

function VD_SmartBob(clip clip, bool "show_motion", int "threshold", bool "motion_map_denoising")
LoadVirtualdubPlugin("d:\bob.vdf", "_VD_SmartBob", 1)
return clip.SeparateFields._VD_SmartBob(clip.GetParity?1:0,
\ default(show_motion, false)?1:0, default(threshold, 10),
\ default(motion_map_denoising, true)?1:0)
}

Il plugin di VirtualDub è importato col comando "LoadVirtualdubPlugin". Il primo argomento fornisce il path del plugin, il secondo il nome del plugin come verrà usato nello script ed il terzo è chiamato " preroll".

Il preroll dovrebbe essere settato almeno = al numero di frames che il filtro deve pre-elaborare per riempire il proprio buffer e/o aggiornare le sue variabili interne. Quest'ultimo argomento è usato in filtri come : SmartBob, SmartDeinterlace, TemporalCleaner e altri . l motivo è che a causa dell'architettura di filtraggio di Virtual Dub il frame futuro NON può essere a disposizione del filtro. Dividee dice : "Nel dialogo "Add filter" di VirtualDub, alcuni filtri hanno un valore di "Lag(ritardo):" nella loro descrizione. Penso che questo sia il valore da usare come preroll. Sfortunatamente questa indicazione non è sempre presente. In questi casi dovete andare per tentativi". Naturalmente potete sempre interpellare il creatore del filtro ;-)

Il primo step consiste nello scoprire la sequenza degli argomenti nell'ultima riga, dove la clip è restituita. Configurate lo script in VirtualDub e selezionate "Save processing Settings" nel File Menu o premete Ctrl+S. Aprite il file creato .vcf con un text editor e dovreste vedere delle righe come queste:

VirtualDub.video.filters.Add("smart bob (1.1 beta 2)");
VirtualDub.video.filters.instance[0].Config(1, 0, 10, 1);

L'ordine degli argumenti è quello che si deve usare in AviSynth. Per scoprire il ruolo degli argomenti giocherellateci in VirtualDub ed esaminate le righe risultanti.

Il secondo step è quello di testare il filtro e di confrontarlo con lo stesso filtro in VirtualDub Si impara anche molto guardando dentro agli script che sono contenuti in vdub_filters.avs.

Esempio di script che usa la funzione VD_SmartBob:

Import("d:\vdub_filters.avs")
AviSource("d:\filename.avi")
ConvertToRGB32 # solo se necessario (ma non danneggia)
VD_SmartBob(1, 0, 10, 1)
ConvertBackToYUY2 # solo se necessario

`$Date: 2004/10/13 21:47:03 $`