# Codec

La tabella di stato dei codec è un elenco completo di tutti i codec supportati, aggiornata giornalmente. Nella sezione download del nostro sito sono disponibili alcuni codec binari da usare con MPlayer.

Se hai un codec Win32 che non è ancora supportato, leggi per favore l'HOWTO sull'importazione codec ed aiutaci ad aggiungerne il decodificatore relativo.

## Codec audio

### Decodifica software AC-3

Questo è il decodificatore di default usato per file con audio AC-3.

Il decodificatore AC-3 può creare mix audio in uscita per 2, 4, o 6 altoparlanti. Quando è configurato per 6 altoparlanti, questo decodificatore fornisce uscite separate di tutti i canali AC-3 verso il driver audio, permettendo un'esperienza completa "surround sound" senza il decodificatore esterno AC-3 richiesto per usare il codec hwac3.

Usa l'opzione `-channels` per impostare il numero dei canali di uscita. Usa `-channels 2` per un sottomissaggio stereo. Per un sottomissaggio a 4 canali (uscite Frontale sinistro, Frontale destro, Surround sinistro, Surround destro), usa `-channels 4`. In questo caso, un qualsiasi canale centrale verrà miscelato in parti uguali nei canali frontali. `-channels 6` farà uscire tutti i canali AC-3 così come sono stati codificati - nell'ordine, sinistro, destro, Surround sinistro, Surround destro, centrale e LFE.

Il numero di default dei canali di uscita è 2.

Per usare più di 2 canali, ti servirà OSS, e avere una scheda audio che supporti l'appropriato numero di canali di uscita attraverso l'ioctl SNDCTL_DSP_CHANNELS. Un esempio di un diver utilizzabile è emu10k1 (usato dalle schede Soundblaster Live!) dall'agosto 2001 o dopo (anche il CVS ALSA si suppone funzioni).

### Decodifica hardware AC-3

Ti serve una scheda audio capace di decodificare AC-3, con uscita digitale (S/PDIF). Il driver della scheda deve supportare correttamente il formato AFMT_AC3 (C-Media lo fa). Collega il tuo decodificatore AC-3 all'uscita S/PDIF, e usa l'opzione `-ac hwac3`. E' sperimentale ma si sa che funziona con schede C-Media e driver Soundblaster Live! + ALSA (ma non OSS) e schede di decodifica MPEG DXR3/Hollywood+.

### Codec hardware audio MPEG

This codec (selected by `-ac hwmpa`) passes through MPEG audio packets to hardware decoders, such as the ones found in full-featured DVB cards and DXR2 adapters. Don't use it in combination with any other audio output device (such as OSS and ALSA) that isn't able to decode it (you will hear only white noise). Questo codec (selezionato con `-ac hwmpa`) trasferisce direttamente i pacchetti audio MPEG ai decodificatori audio, come quelli che si trovano nelle schede DVB full-option e negli adattatori DXR2. Non usarlo in combinazione con alcun altro dispositivo di uscita audio (come OSS o ALSA) che non sia capace di decodificarlo (sentirai solo rumore bianco).

## HOWTO sull'importazione dei codec Win32

### Codec VFW

VFW (Video for Windows) sono le vecchie API Video per Windows. I loro codec hanno un'estensione `.DLL` o (raramente) `.DRV`. Se MPlayer non riesce a riprodurre il tuo AVI emettendo un messaggio del tipo:

    UNKNOWN video codec: HFYU (0x55594648)

significa che il tuo AVI è codificato con un codec che ha HFYU come fourcc (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, etc.). Ora che lo sai, devi scoprire quale DLL di Windows viene caricata per riprodurre quel file. Nel nostro caso il `system.ini` contiene questa informazione in una riga siffatta:

    VIDC.HFYU=huffyuv.dll

Perciò ti serve il file `huffyuv.dll`. Nota che i codec audio vengono specificati con il prefisso MSACM:

    msacm.l3acm=L3codeca.acm

Questo è il codec MP3. Ora che hai tutte le informazioni necessarie (fourcc, file del codec, AVI di esempio), invia via mail la tua richiesta di supporto per il codec, e carica questi file sul sito FTP: `ftp://upload.mplayerhq.hu/MPlayer/incoming/`<nomecodec>`/`

In Windows NT/2000/XP cerca queste informazioni nel registro, per es. cerca "VIDC.HFYU". Per scoprire come farlo, guarda il vecchio metodo per DirectShow più sotto.

### Codec DirectShow

DirectShow sono le API Video più recenti, che sono ancora peggio delle precedenti. Le cose sono più difficili con le DirectShow, dato che

- `system.ini` non contiene le informazioni che servono, sono invece scritte nel registro e

- bisogna sapere il GUID del codec.

### Nuovo Metodo:

Usando Microsoft GraphEdit (veloce)

1. Ottieni GraphEdit o dall'SDK delle DirectX o da doom9.

2. Avvia `graphedit.exe`.

3. Dal menu scegli Graph Insert Filters.

4. Espandi `DirectShow Filters`.

5. Seleziona il nome giusto del codec e espandilo.

6. Nella voce `DisplayName` guarda il testo tra parentesi graffe dopo il backslash e segnatelo (cinque blocchi separati da trattini, il GUID).

7. Il codec binario è il file specificato nella voce `Filename`.

Se non c'è alcun `Filename` e `DisplayName` contiene qualcosa del tipo `device:dmo`, allora è un codec DMO.

### Vecchio Method:

Fai un grosso respiro e inizia a cercare nel registro...

1. Avvia `regedit`.

2. Premi Ctrl T, disabilita le prime due opzioni, e abilita la terza. Scrivi il fourcc del codec (per es. `TM20`).

3. Dovresti trovare un campo che contiene il percorso e il nome del file (per es. `C:\WINDOWS\SYSTEM\TM20DEC.AX`).

4. Ora che sai il file, ci serve il GUID. Prova a fare di nuovo la ricerca, ma ora cerca il nome del codec, e non più il fourcc. Il suo nome si può scoprire quando Media Player sta riproducendo il file, controllando File Properties Advanced. Se non c'è, sei sfortunato. Prova ad indovinarlo (per es. cerca TrueMotion).

5. Se trovi il GUID, dovresti trovare un campo "FriendlyName" e un "CLSID". Segnati il CLSID di 16 caratteri, questo è il GUID che ci serve.

Se la ricerca fallisce, prova ad abilitare tutte le opzioni. Puoi avere dei falsi positivi, ma potresti essere fortunato...

Ora che hai tutte le informazioni necessarie (fourcc, GUID, file del codec, AVI di esempio), invia via mail la tua richiesta di supporto per il codec, e carica questi file sul sito FTP: `ftp://upload.mplayerhq.hu/MPlayer/incoming/`<nomecodec>`/`

Se ti garba aggiungere un codec per conto tuo, leggi DOCS/tech/codecs.conf.txt.