## AVISource / OpenDMLSource / AVIFileSource / WAVSource

`AVISource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`OpenDMLSource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`AVIFileSource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`WAVSource` (string filename [, ...])

`AVISource` assume come argomento uno o più nomi di file compresi fra virgolette e li legge usando o l'interfaccia Video-for-Windows o il codice interno OpenDML (preso da VirtualDub). Questo filtro può leggere ogni tipo di file per cui esiste un AVIFile handler. Questo comprende non solo files AVI, ma anche files WAV, files AVS (script di AviSynth) , e files VDR (frameserver di VirtualDub) . Se si fornisce come argomento una lista di files, i clips saranno uniti con la funzione `UnalignedSplice`. L'argomento bool è opzionale e di defaualt vale `true`.

Il filtro `AVISource` esamina il file per determinarne il tipo e lo passa al gestore di AVIFile o a quello di OpenDML secondo necessità. Nel caso si abbiano problemi con uno o l'altro degli handler, si possono anche usare i filtri `OpenDMLSource` e `AVIFileSource` , che forzano l'uso di un gestore o dell'altro. Entrambi i gestori leggono i normali files AVI (< 2GB) , ma solo OpenDML può leggere grandi files AVI e solo il gestore AVIFile può leggere altri tipi di files come WAV, VDR and AVS.

Fino alla versione v2.04, `WAVSource` era un alias di AviFileSource. Nelle versioni più recenti, `WAVSource` non cerca più di aprire il video stream . Può essere utile se si vuole recuperare lo stream audio partendo da un file AVI il cui video sia danneggiato o il cui metodo di compressione non sia supportato dal nostro sistema.

Dallav2.04 in avanti è previsto un supporto interno per audio ACM (Audio Compression Manager) (e.g. mp3-AVIs). `AVISource` non è più in grado di aprire files WAV, che devono essere trattati usando `WAVSource`.

Dalla v2.06 il parametro pixel_type (default YUY2) ci permette di scegliere il formato di output del decompressore. Valori validi sono "YUY2", "RGB32" and "RGB24". Se omesso, AviSynth userà il primo formato supportato dal decompressore (nell'ordine: YUY2, RGB32, RGB24). Questo parametro non ha effetto se il video è in formato uncompressed (YUY2, RGB32 or RGB24), poiché in questo caso non verrà usato nessun decompressore. Dalla v2.5 il valore di default del parametro pixel_type è cambiato in YV12. Per dirlo in altre parole: se non si dice nulla, il sistema cercherà di esportare un AVI come YV12, se questo non è possibile, come YUY2 e se anche questo non è possibile, come RGB.

Qualche volta il colore risulta distorto quando si caricano in AviSynth v2.5 clip Divx(i canali U e V sono invertiti), e questo è dovuto ad un bug del DivX (fino alla 5.02 ). Per correggere questo errore si può usare `SwapUV` .

Dalla v2.53 `AVISource` apre anche files DV type 1 (solo il video, non l' audio).

Dalla v2.55, è stata aggiunta l' opzione fourCC. FourCC, è un FOUR Character Code i all'inizio del file , in prevalenza associato con AVI, che dice al sistema quale codec usare per decodificare il file. Lo si può usare per forzare AviSource ad aprire un file avi usando un codec diverso. Un elenco dei FOURCCs lo si trova qui. Per default, viene usato il fourCC dell' avi.

Alcuni codecs MJPEG/DV non generano output correttamente compatibili con CCIR 601 compliant usando `AVISource`. Il problema può nascere se l'input e l'output hanno color format diversi. Ad esempio se il colorformat di input è YUY2, mentre il colorformat di output è RGB, o vice versa. Ci sono due modi per risolvere il problema:

1) Forzare il colorformat di output uguale a quello di input . Se ad esempio l'input è RGB:

    AVISource("file.avi", pixel_type="RGB32")

2) Correggerlo col filtro ColorYUV:

    AVISource("file.avi").ColorYUV(levels="PC->TV")

Eccovi alcune discussioni di riferimento (in Inglese):
MJPEG codecs
DV codecs

Esempi:

    AVISource("d:\capture.avi")        # Nota per i programmatori in C: backslashes SINGOLA
    AVISource("c:/capture/00.avi")     # funziona anche la barra semplice
    WAVSource("f:\soundtrack.wav")     # questo funziona
    WAVSource("f:\soundtrack.wav")     # anche questo
    AVISource("cap1.avi","cap2.avi")   # è la stessa cosa di AVISource("cap1.avi")+AVISource("cap2.avi")
    AVISource("cap.avi",false,"RGB32") # disabilita l'audio e chiama il decompressore RGB32.

Changes:

v2.55 | Aggiunta l'opzione fourCC.

`$Date: 2004/09/07 22:09:49 $`